»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
timotimo | ZoffixWin: it'd be interesting to see how big these leaks can get. i'd expect the leakage to plateau relatively early | 00:02 | |
ZoffixWin | You mean on 'hello world'? The ones from the real programs chewed through a gig and a half rather quickly: i.imgur.com/QR3cWjV.png | 00:03 | |
timotimo | is that actually truly leaked? would valgrind have pointed those parts out? | 00:04 | |
timotimo removed a tiny piece of leakage | 00:05 | ||
ZoffixWin | No idea, but statistically speaking: three different programs in three different domains that I wrote are all leaking like crazy. (a) I'm a crappy programmer. (b) something is leaking :P | ||
timotimo | well, yeah, we surely leak a little bit | 00:06 | |
ZoffixWin | Time for me to re-learn C, I guess. | ||
timotimo | btw, the heap explorer is super cool | ||
ha! | 00:09 | ||
nqp -e 'say("hello")' just went from definitely lost: 6,971 bytes in 224 blocks to definitely lost: 2,048 bytes in 1 blocks | |||
jdv79 | C is pretty unfun except it can be blazing fast | ||
timotimo | ==11188== in use at exit: 0 bytes in 0 blocks | 00:11 | |
yay | |||
ZoffixWin: with very latest moar, try your perl6-valgrind-m run again, it'll be a bit less noisy | |||
i'm down to only 46 loss records with that extra patch i just pushed | 00:17 | ||
was 47 before that | |||
ZoffixWin builds | |||
woooo | 00:24 | ||
timotimo | is it better? | ||
00:25
mr-foobar left
|
|||
ZoffixWin | timotimo++ 14 errors instead of 70 and "definitely lost: 54,446 bytes in 189 blocks" instead of 104,477 bytes in 2,358 blocks: gist.github.com/zoffixznet/4e5b68d...668883360a | 00:25 | |
timotimo | that's not "errors"! :) | ||
ZoffixWin | ¯\_(ツ)_/¯ | 00:26 | |
timotimo | oh, it *does* call them errors | ||
i never saw that | |||
like, i never noticed it | |||
it's probably been there the whole time | |||
00:26
mr-foobar joined
|
|||
timotimo | i pointed those things out to jn a few minutes ago. especially the 33.6k one is interesting and fixable, but it's extremely improbable that it'd grow | 00:27 | |
00:27
pierre_ joined
|
|||
timotimo | all those records that come from MVM_serialization_demand_object are limited by the number of actual things in the core setting, so they can't grow without bound | 00:28 | |
00:28
ssotka left
|
|||
hotel | code optimisation scares me | 00:29 | |
timotimo | what kind, and in what way? | 00:30 | |
hotel | anything low-ish level does too, for that matter | ||
just, in general | |||
idk | |||
timotimo | mhh-hmm | 00:31 | |
hotel | I don't know enough and what I don't know scares me? | ||
timotimo | well, optimizing all this stuff requires knowlegde of how all the internals work and how they work together etc etc | 00:33 | |
hotel | yeah exactly | 00:35 | |
timotimo | all i know i've learned from jn :D | 00:36 | |
00:43
mr-foobar left
00:45
mr-foobar joined
00:47
Actualeyes joined
00:55
astj joined
00:58
ssotka joined
01:08
hotel_california joined,
hotel left
01:21
skids joined
01:23
finanalyst joined
01:24
pierre_ left
01:30
TEttinger left
01:40
hotel_california is now known as hotel,
zacts left,
zacts joined
01:41
mr-foobar left
01:43
mr-foobar joined
|
|||
hotel | why would you use a backward feed over a forward one? | 01:43 | |
MadcapJake | you mean ==> and <== ? | ||
Sgeo | Haskellers understand <== better? >.> | 01:45 | |
(Probably not the actual reason) | 01:46 | ||
01:47
pierre_ joined
|
|||
hotel | yeah those | 01:47 | |
MadcapJake | personal preferences, why provide one and not the other, and <== into containers looks better than ==> into containers | 01:48 | |
01:50
kid51 left
|
|||
hotel | mkay | 01:51 | |
MadcapJake | m: my $name <== join(" ") <== reverse() <== map(*.comb.reverse.join) <== words() <== 'ossur ekaj'; say $name | ||
camelia | rakudo-moar 283b85: OUTPUT«[jake russo]» | ||
geekosaur | so you can feel like you're writing Haskell, I guess :p | 01:53 | |
MadcapJake | except I can't figure out how to get it out of an array :P | 01:54 | |
hotel | join(" ")[0]? | 01:56 | |
MadcapJake | m: my $name <== join(" ")[0] <== reverse() <== map(*.comb.reverse.join) <== words() <== 'ossur ekaj'; say $name | 01:57 | |
camelia | rakudo-moar 283b85: OUTPUT«Cannot modify an immutable Str in any at /tmp/mY1UUuyXJo line 1 in block <unit> at /tmp/mY1UUuyXJo line 1» | ||
hotel | oh | ||
MadcapJake | :) feed operators are NFI (not fully implemented :) | ||
m: my $name <== join(" ").Array.[0] <== reverse() <== map(*.comb.reverse.join) <== words() <== 'ossur ekaj'; say $name | 01:58 | ||
camelia | rakudo-moar 283b85: OUTPUT«[jake russo]» | ||
01:59
BenGoldberg left,
molaf left
|
|||
hotel | m: my $name = 'ainrofilac letoh'.words.map(*.comb.reverse.join).reverse.join(" ").Array.[0]; say $name | 01:59 | |
camelia | rakudo-moar 283b85: OUTPUT«hotel california» | ||
hotel | might as well just do that then lol | ||
02:00
BenGoldberg joined
02:01
BenGoldberg left
|
|||
geekosaur | . left to right, feed right to left, reverse haskell >.> | 02:02 | |
02:02
wbill left
|
|||
hotel | but you could also do ==> | 02:02 | |
02:02
BenGoldberg joined
|
|||
hotel | also, is there an equivalent to a try/finally block in perl6 | 02:03 | |
geekosaur | any block is a try block, potentially. just add a CATCH phaser | 02:05 | |
hotel | but really the finally part | ||
geekosaur | and I think there's another for the finally part, m | ||
LEAVE? | 02:06 | ||
yes | |||
doc.perl6.org/language/phasers | |||
hotel | m: try { say 'x' LEAVE { say 'y' }; } | 02:07 | |
camelia | rakudo-moar 283b85: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hCkKCMrrO1Two terms in a rowat /tmp/hCkKCMrrO1:1------> 3try { say 'x'7⏏5 LEAVE { say 'y' }; } expecting any of: infix infix stopper postfix statemen…» | ||
geekosaur | semicolon needed | ||
hotel | m: try { say 'x' LEAVE { say 'y' }; }; | ||
camelia | rakudo-moar 283b85: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ibGJ9IP6tMTwo terms in a rowat /tmp/ibGJ9IP6tM:1------> 3try { say 'x'7⏏5 LEAVE { say 'y' }; }; expecting any of: infix infix stopper postfix stateme…» | ||
hotel | well thanks | ||
:) | |||
geekosaur | m: { say 'x'; LEAVE {say 'y'};} | 02:08 | |
camelia | rakudo-moar 283b85: OUTPUT«xy» | ||
geekosaur | m: { fail; LEAVE {say 'y'};} | ||
camelia | rakudo-moar 283b85: OUTPUT«yFailed in block <unit> at /tmp/vAFrizBkTc line 1» | ||
geekosaur | actually that's not a good test because fail is deferred | ||
ugexe | m: (1,2,3) R= my @a; say @a; # you can do regular assignment that way as well, might as well have <== | 02:09 | |
camelia | rakudo-moar 283b85: OUTPUT«[1 2 3]» | ||
hotel | oh, I heard once that you can do perl right-to-left if you wanted | ||
and I don't even need the try in this case, I can just use a closure | 02:11 | ||
wow, perl is cooler than python | |||
02:11
molaf joined
02:13
noganex joined
|
|||
ZoffixWin | :P | 02:14 | |
02:16
noganex_ left
|
|||
hotel | going to study cs next year, wonder if my profs will get mad if I turn in everything in perl6 | 02:18 | |
02:19
pierre_ left
02:20
pierre_ joined,
TEttinger joined
|
|||
MadcapJake | most classes will probably have a specific language that you're supposed to use, but you could try :P | 02:21 | |
hotel | m: my @a = 10, 11; my $a, my $b = @a; say $a, $b | 02:22 | |
camelia | rakudo-moar 283b85: OUTPUT«(Any)[10 11]» | ||
ZoffixWin | Write in Perl 6 a program whose output compiles in the $class's lang :P | ||
MadcapJake | lol | ||
hotel | oh that would be good | ||
write it for the jvm | |||
ZoffixWin | m: my @a = 10, 11; my ($a, $b) = @a; say $a, $b | 02:23 | |
camelia | rakudo-moar 283b85: OUTPUT«1011» | ||
ZoffixWin | m: my @a = 10, 11; my $a, my $b Z= @a; say $a, $b | ||
camelia | rakudo-moar 283b85: OUTPUT«1011» | ||
hotel | I was getting there :P | ||
although what's that Z=? | |||
MadcapJake | Z is an operator operator (meta operator) | 02:24 | |
ZoffixWin | hotel, docs.perl6.org/language/operators#Zip_Operators | ||
hotel | thanks | ||
02:24
pierre_ left
|
|||
hotel | those are pretty cool | 02:27 | |
02:27
cdg joined
02:31
cdg left
02:32
pierre_ joined
02:36
jack_rabbit left
02:37
pierre_ left
|
|||
hotel | m: my @a = 1, 2, 3; my $s = ""; $s «~=« @a | 02:38 | |
camelia | ( no output ) | ||
hotel | m: my @a = 1, 2, 3; my $s = ""; $s «~=« @a; say $s | ||
camelia | rakudo-moar 283b85: OUTPUT«123» | ||
hotel | oh it does work \o/ | 02:39 | |
MadcapJake | another way is with the reduce meta operator | ||
m: say [~] 1, 2, 3 | |||
camelia | rakudo-moar 283b85: OUTPUT«123» | ||
02:40
BenGoldberg left
|
|||
hotel | noice | 02:40 | |
thanks | |||
02:40
BenGoldberg joined
02:43
TEttinger left
02:49
BenGoldberg left
02:50
BenGoldberg joined
02:58
huggable left,
huggable joined
03:00
pierre_ joined
03:01
cognominal left
03:04
pierre_ left
03:05
|2701 left
03:06
pierre_ joined
|
|||
hotel | m: my @a = 1=>2, 3=>4, 5=>6; my $f = ''; for @a -> $e { $f ~= $e.value.key ~ ':' ~ $e.value.value ~ "\r\n" }; $f | 03:08 | |
camelia | rakudo-moar 283b85: OUTPUT«WARNINGS for /tmp/d7yWpgmkS2:Useless use of $f in sink context (line 1)Method 'key' not found for invocant of class 'Int' in block <unit> at /tmp/d7yWpgmkS2 line 1» | ||
hotel | m: my @a = 1=>2, 3=>4, 5=>6; my $f = ''; for @a.pairs -> $e { $f ~= $e.value.key ~ ':' ~ $e.value.value ~ "\r\n" }; $f | ||
camelia | rakudo-moar 283b85: OUTPUT«WARNINGS for /tmp/WbCSo71AzN:Useless use of $f in sink context (line 1)» | ||
hotel | m: my @a = 1=>2, 3=>4, 5=>6; my $f = ''; for @a.pairs -> $e { $f ~= $e.value.key ~ ':' ~ $e.value.value ~ "\r\n" }; say $f | 03:09 | |
camelia | rakudo-moar 283b85: OUTPUT«1:2 | ||
hotel | :I | ||
03:10
cdg joined
03:13
pierre_ left,
BenGoldberg left
03:17
BenGoldberg joined
|
|||
ZoffixWin | m: my @a = 1=>2, 3=>4, 5=>6; my $f = ''; for @a.pairs -> $e { $f ~= $e.key ~ ':' ~ $e.value ~ "\n" }; say $f | 03:19 | |
camelia | rakudo-moar 283b85: OUTPUT«0:1 21:3 42:5 6» | ||
03:19
pierre_ joined
|
|||
ZoffixWin | m: say "\rBar" | 03:19 | |
camelia | rakudo-moar 283b85: OUTPUT« | ||
ZoffixWin | m: my @a = 1=>2, 3=>4, 5=>6; @a.map({ "$_.key():$_.value()" }).join(' Δ ').say | 03:21 | |
camelia | rakudo-moar 283b85: OUTPUT«1:2 Δ 3:4 Δ 5:6» | ||
03:25
BenGoldberg left
03:26
aleogen joined
|
|||
hotel | ah, forgot about map | 03:28 | |
I knew there was a better way | |||
ZoffixWin++++ | |||
03:33
jameslen_ left
03:36
yqt left
03:49
mr-foobar left
03:50
mr-foobar joined
03:55
hotel is now known as hotel|netteiru
03:58
TEttinger joined
04:00
khw left,
buharin joined
04:13
mr-foobar left
04:14
mr-foobar joined
04:22
hotel_california joined
04:23
hotel|netteiru left
|
|||
ugexe | m: my @a = 1=>2, 3=>4, 5=>6; say join " Δ ", @a>>.kv>>.join(":") | 04:23 | |
camelia | rakudo-moar 283b85: OUTPUT«1:2 Δ 3:4 Δ 5:6» | ||
MadcapJake | how can you mutate a hash's keys in-place? | 04:26 | |
04:29
molaf left
|
|||
MadcapJake | nvm figured it out | 04:30 | |
nvm, realized it's not possible :P | 04:31 | ||
04:32
pierre_ left
04:33
ribasushi left
|
|||
skids | Well, you could bind Scalars as keys in an object hash, but you'd have to use the same Scalars to deref. | 04:34 | |
04:34
buharin left
|
|||
MadcapJake | for %h.kv -> $k, $v { if ... { %h{$k}:delete; %h{$new-k} = $v } } # this pattern should work | 04:36 | |
skids | %h{$k}:delete sould return the value. | 04:38 | |
m: my %h = 1 => 42; %h{2} = %h{1}:delete; %h.say | 04:39 | ||
camelia | rakudo-moar 283b85: OUTPUT«{2 => 42}» | ||
04:40
ribasushi joined
|
|||
geekosaur | arguably that is not in-place... because the key's hash would change | 04:41 | |
04:42
sortiz joined
|
|||
masak | morning, #perl6! | 04:46 | |
04:51
Khisanth left
|
|||
MadcapJake | m: await Promise.allof: gather for ^10 { take start { my $time = rand * 10; sleep $time; say "slept for $time seconds" } } | 04:51 | |
camelia | rakudo-moar 283b85: OUTPUT«slept for 1.58003313065313 secondsslept for 2.45284558565791 secondsslept for 2.64399243271618 secondsMemory allocation failed; could not allocate 16288 bytes» | ||
04:51
buharin joined,
Khisanth joined
|
|||
MadcapJake | skids: neat thanks! | 04:52 | |
m: await Promise.allof: gather for ^5 { take start { my $time = rand * 5; sleep $time; say "slept for $time seconds" } } | |||
camelia | rakudo-moar 283b85: OUTPUT«slept for 2.04089945715264 secondsslept for 2.13021557699128 secondsslept for 2.37540170567119 secondsslept for 2.72199360282895 secondsslept for 3.25041372973699 seconds» | 04:53 | |
04:53
DrEeevil left,
cdg left
|
|||
skids | ISTR playing with random sleeps and getting something similar and finding it drilled down to Interval or something not liking to cast from some floats. | 04:54 | |
But my memory is fuzzy, | |||
04:55
Cabanossi left
04:57
xiaomiao joined
|
|||
MadcapJake | strange, seems to work just fine on my machine but not a big deal as I just wanted to make sure `await Promise.allof: gather for ... { take start { ... } }` would work | 04:57 | |
skids | Yeah I cannot get it to fail locally (my build is old) | ||
04:58
Cabanossi joined
05:14
mr-foobar left,
mr-foobar joined
05:18
skids left
05:27
mr-foobar left,
mr-foobar joined
05:30
wamba joined
05:32
jjido joined,
pierre_ joined
05:37
pierre_ left
05:38
pierre_ joined,
mr-foobar left
05:39
domidumont joined
05:40
mr-foobar joined
05:44
domidumont left,
domidumont joined
05:46
cpage_ joined
05:50
CIAvash joined
05:51
mr-foobar left
05:52
mr-foobar joined
|
|||
sortiz | \o #perl6 | 05:53 | |
05:59
domidumont left
06:01
mr-foobar left
06:02
rurban joined
06:03
mr-foobar joined
06:06
AlexDaniel left
06:08
jjido left
06:09
cpage_ left
06:10
domidumont joined
06:11
ssotka left
06:17
mr-foobar left
06:19
mr-foobar joined
06:22
buharin left
06:23
firstdayonthejob joined,
_mg_ joined
06:24
buharin joined
06:25
mr-foobar left
06:32
firstdayonthejob left
06:35
aindilis left
06:36
buharin left,
aindilis joined
06:38
jjido joined
06:41
pierre_ left
06:43
pierre_ joined
06:47
jjido left
|
|||
moritz | \o | 06:55 | |
06:58
huggable left
06:59
mr-foobar joined
07:04
RabidGravy joined
07:05
jack_rabbit joined
|
|||
RabidGravy | boom! | 07:12 | |
07:14
rindolf joined
07:20
abraxxa joined
07:21
cognominal joined
07:27
abraxxa left
07:30
rurban left
07:35
cognominal left
07:36
wamba left
07:37
cognominal joined,
azawawi joined
|
|||
azawawi | good morning #perl6 | 07:37 | |
github.com/azawawi/perl6-clean # A better example :) | |||
RabidGravy | harr! | 07:40 | |
07:42
abraxxa joined
07:46
pierre_ left
|
|||
sortiz | azawawi, Your Cleanable is much like my Disposable :-) | 07:47 | |
azawawi | sortiz: link it :) | 07:48 | |
07:48
mr-foobar left
07:49
mr-foobar joined
|
|||
sortiz | azawawi, Disposable isn't published, it is waiting for macro support for an usable "using ... { }" | 07:51 | |
azawawi | sortiz: looking forward to see... i needed something for my nativecall libs | 07:54 | |
sortiz: robust cleanup | |||
sortiz: that's only step #1. next exception handling... then async handling | |||
07:54
ufobat joined
|
|||
ufobat | good morning | 07:54 | |
azawawi | ufobat: good morning | 07:55 | |
moritz | good ufo, bat | ||
sortiz | Yep, I start with it for the needs of DBDish and all its Handlers, so I use .dispose all over the place, but without a formal does Disposable ;-) | ||
RabidGravy | erp | 07:56 | |
sortiz | azawawi, Btw '$o.clean if $o.defined' can be '.clean with $o', more idiomatic imo. | 07:57 | |
azawawi | sortiz: i see... doc.perl6.org/syntax/with%20orwith%20without ... you live another day, you learn a new thing :) thx | 08:00 | |
RabidGravy | or $o.?clean | ||
08:01
pierre_ joined
|
|||
azawawi | or keep it clean and use if $o.defined :) | 08:02 | |
RabidGravy | I think I must be the only person in the world who doesn't like "implicit topic invocants" - reminds me of VB too much | 08:03 | |
sortiz | RabidGravy, $o.?clean is more like '$o.^can('clean') // $o.clean', no? | 08:04 | |
RabidGravy | yeah | ||
sortiz | So $o.?clean can be called for Cleanable:U too, no what you want. | 08:06 | |
RabidGravy | well that could be fixed by making the signature tighter | 08:08 | |
sortiz | Sure. | ||
08:12
darutoko joined
|
|||
azawawi | sortiz: I see Type:U all the time... what does :U do? can you link some documentation for it? | 08:15 | |
08:15
pierre_ left
|
|||
RabidGravy | :D defined :U undefined | 08:16 | |
so in this case e.g. you could make the invocant :D: | 08:17 | ||
sortiz | azawawi, Given some type Foo, in a signature Foo:U match the type, and Foo:D match an instance of that type. | ||
RabidGravy | the speculations had another one but that wasn't implemented | 08:18 | |
sortiz | Not necessarily .defined but .DEFINITE, to cover the case of a type where its instances are .defined === False, like Failure. | 08:19 | |
azawawi | i see... thx | 08:21 | |
RabidGravy | I found the tiny usb ftdi serial thingy yesterday, I might take a crack at a serial port thing | 08:24 | |
08:31
grondilu joined
08:34
azawawi left
|
|||
grondilu | would { f($a, $b); $a++; $b++ } be slower than { f($a++, $b++) }? | 08:34 | |
probably not by much but still. | |||
RabidGravy | if in doubt benchmark | 08:35 | |
08:36
pierre_ joined
|
|||
grondilu thought of it while looking at List.combinations | 08:37 | ||
seems to me that lots of people are reluctant to give a ++ variable as a parameter to a function. Yet it's kind of what is cool with ++. | 08:38 | ||
psch | m: sub f($, $) { }; my ($a, $b); for ^10000 { f($a++, $b++) }; say now - BEGIN now; | 08:39 | |
camelia | rakudo-moar 342aef: OUTPUT«0.0426574» | ||
psch | m: sub f($, $) { }; my ($a, $b); for ^10000 { f($a, $b); $a++; $b++ }; say now - BEGIN now; | 08:40 | |
camelia | rakudo-moar 342aef: OUTPUT«0.0280092» | ||
grondilu | that can't be right. | ||
psch | why not? | ||
RabidGravy | I can make several hypotheses why I would expect it to be the case | 08:43 | |
psch | with a sufficiently smart compiler/optimizer it shouldn't be slower, yeah | ||
sortiz | m: sub f($, $) { }; my (int $a, int $b); for ^100000 { f($a++, $b++) }; say now - BEGIN now; | ||
camelia | rakudo-moar 342aef: OUTPUT«0.0549329» | ||
sortiz | m: sub f($, $) { }; my (int $a, int $b); for ^100000 { f($a, $b); $a++; $b++ }; say now - BEGIN now; | 08:44 | |
camelia | rakudo-moar 342aef: OUTPUT«0.1833002» | ||
moritz | a sufficiently smart compiler can turn a postfix ++ in sink context into prefix ++ | ||
sortiz | At least the optimizer works for ints. :) | 08:45 | |
psch | why that's that much faster is unintuitive to me fwiw :) | ||
sortiz++ | |||
moritz | maybe one of them inlines, and the other doesn't | 08:46 | |
RabidGravy | my eyes haven't woken up yet, I failed to see the extra 0 | ||
sortiz | Even in the general case the first avoid two extra lookup, that can be expensive. | 08:47 | |
08:48
zakharyas joined
|
|||
moritz | if not inlined, the invocation of the op will dwarf any amount of processing done inside it | 08:55 | |
sortiz | yep. | 08:56 | |
With prefix ++ the difference is even more notorious: | 08:57 | ||
m: sub f($, $) { }; my (int $a, int $b); for ^100000 { f(++$a, ++$b) }; say now - BEGIN now; | |||
camelia | rakudo-moar 342aef: OUTPUT«0.0542253» | ||
sortiz | m: sub f($, $) { }; my (int $a, int $b); for ^100000 { f($a, $b); ++$a; ++$b }; say now - BEGIN now; | 08:58 | |
camelia | rakudo-moar 342aef: OUTPUT«0.176574» | ||
sortiz | Not much here. :/ | ||
psch | m: sub f(int $, int $) { }; my (int $a, int $b); for ^100000 { f($a, $b); ++$a; ++$b }; say now - BEGIN now; | 08:59 | |
camelia | rakudo-moar 342aef: OUTPUT«0.1531268» | ||
psch | m: sub f(int $, int $) { }; my (int $a, int $b); for ^100000 { f(++$a, ++$b); }; say now - BEGIN now; | ||
camelia | rakudo-moar 342aef: OUTPUT«0.05554319» | ||
RabidGravy | well ~2/5 | 09:00 | |
sortiz | For num the ratio changes. | 09:03 | |
09:07
zakharyas left
09:09
winger_ left
09:11
rurban1 joined
09:16
webmind left
09:17
pierre_ left
09:20
wamba joined
09:22
pierre_ joined
09:24
zakharyas joined
09:37
espadrine joined
09:38
rurban1 left
09:42
YP-QMUL-W joined
|
|||
RabidGravy wonders why monit thinks the icecast isn't running | 09:43 | ||
Hmm that'll be because the .pid file isn't where it used to be :\ | 09:48 | ||
oh that old, "if the path to where the pid file doesn't exist, don't create it and start normally without the merest hint that something wasn't right" | 09:52 | ||
09:52
winger joined
09:53
zakharyas left
|
|||
RabidGravy | there that's better | 09:56 | |
nine_ | pid files? Sounds quite old fashioned. | 10:06 | |
10:06
pierre_ left
10:07
pierre_ joined
|
|||
moritz | still an unfortunate reality for many | 10:10 | |
at $work we are still stuck with some Wheezy boxes that $ops_team doesn't get around to update | |||
so, old-fashioned init scripts :/ | 10:11 | ||
pid files, start-stop-daemon, all that "fun" | |||
hangs if a script doesn't properly daemonize (I'm looking at you, OTRS) | 10:12 | ||
10:16
TEttinger left
|
|||
jast | reminds me of the squeeze box I haven't gotten around to updating yet | 10:17 | |
10:19
finanalyst left
10:21
The_Schmidt joined
10:22
YP-QMUL-W left
|
|||
RabidGravy | the pid file is just for the convenience of monit | 10:26 | |
everything else works fine without them | 10:27 | ||
though I do wonder if there is some way to programmatically get the PID from systemd | 10:28 | ||
because it clearly knows | |||
well apart from "systemctl -p MainPID status ...." | 10:32 | ||
nine_ | Does monit actually need the pid? Or would it suffice to know that the process is up and running? | 10:33 | |
RabidGravy | it doesn't need it, but it makes it better | 10:35 | |
if it knows the pid it tries to find information about the process | 10:36 | ||
nine_ | RabidGravy: you meant systemctl -p MainPID show memcached | 10:37 | |
RabidGravy | yes I do | 10:38 | |
did | |||
10:42
Tux__ left
10:44
pierre_ left
10:45
profan left,
profan joined
10:53
kaare_ joined
10:58
uruwi left
11:03
uruwi joined
11:12
The_Schmidt left
11:19
uruwi left,
finanalyst joined
11:22
pierre_ joined
11:24
kid51 joined
11:26
sortiz left,
telex left
11:28
telex joined
11:43
pierre_ left
11:44
pierre_ joined
|
|||
RabidGravy | how many times have I done "git add lib" *before* adding the .precomp to the .gitignore | 11:47 | |
11:47
|2701 joined,
kid51 left
11:48
brrt joined
|
|||
moritz | git add $(find lib -name '*.pm6') | 11:48 | |
11:49
kid51 joined
|
|||
tadzik | fun idea: something that git-adds from META6.json | 11:51 | |
11:52
cosarara_ left
11:53
vendethiel left,
vendethiel- joined
|
|||
RabidGravy | tadzik, that could work | 11:54 | |
11:55
cosarara joined
11:56
kid51 left
11:59
_mg_ left
|
|||
tadzik | question is, what do people actually do first :) | 12:00 | |
12:01
aries_liuxueyang left
12:02
rindolf left
12:03
azawawi joined
|
|||
azawawi | hi | 12:04 | |
12:05
_mg_ joined
|
|||
RabidGravy | tadzik, actually no, but it does lead to an interesting family of tools | 12:06 | |
azawawi dreams of a 2x ark.intel.com/products/91317/Intel-...e-2_20-GHz | 12:07 | ||
tadzik | 55M of cache, neat | 12:08 | |
azawawi | look at the cores :) | ||
and max memory | |||
RabidGravy | lawks | 12:09 | |
jnthn | Core blimey! | ||
tadzik | hahah | ||
RabidGravy | that would work nicely for the occasional java application | ||
tadzik | that might be beyond what I could use | ||
with a price to match :P | 12:10 | ||
jnthn | spectest would be awesome on it :) | ||
12:10
aries_liuxueyang joined
|
|||
azawawi | :) | 12:10 | |
but still they could have made a 21 core (42 threads) processor instead of 22 for fun :) | 12:11 | ||
RabidGravy | well you can put two on a motherboard (if I read that right) so all good | ||
azawawi | yup | 12:12 | |
~ 8k | |||
so that's a lot of actual cores (44 cores => 88 threads) | 12:13 | ||
azawawi dreams | |||
12:14
dustinm` left
|
|||
azawawi | btw is 'rakudobrew build moar' single thread cpu-bound or does the number of cores affect the compilation speed given a fast enough I/O storage device? | 12:14 | |
RabidGravy | it would be perfect for audio stuff | 12:15 | |
12:15
cosarara_ joined
|
|||
RabidGravy | fix the cpu affinity for each irq and away you go | 12:16 | |
could actually use firewire audio and the wifi at the same time ;-) | 12:17 | ||
12:17
cosarara left
|
|||
tadzik | azawawi: hmm, it doesn't do anything -j that rakudo/nqp/moar doesn't do automatically | 12:18 | |
RabidGravy concludes that XML::Class is actually too verbose for the most common cases | 12:21 | ||
I should have made elements the default rather than attributes | 12:22 | ||
SooOOooo, I'm thinking an :elements parameter to the role and jobs a good-un | 12:23 | ||
nine_ | MoarVM's compilation benefits greatly from -j. nqp and especially rakudo less so. Unfortunately most of the time goes into rakudo | 12:26 | |
12:29
araujo_ joined
|
|||
brrt | yes, moarvms makefile made me appreciate both make and whoever wrote the makefile | 12:30 | |
12:30
araujo left
|
|||
brrt | what are the challenges for making the rakudo build benefit from parallelism, actually | 12:31 | |
12:31
profan left
12:32
profan joined
|
|||
moritz | mostly that there are stages that build upon each other | 12:32 | |
most of the time is spent compiling the setting, and that needs src/Perl6/{Actions,Grammar,World} compiled first | |||
brrt | right | ||
avar | You can do stuff like that with make by having {Actions,Grammar,World} built in parallel and having other stuff depend on all 3 targets.. | 12:33 | |
nine_ | That wouldn't be much of an issue since Actions, Grammar and World can be compiled in parallel | ||
psch | Actions and Grammar both depend on World, do they not? | ||
nine_ | Doesn't buy you much though since those are quite quick anyway. What's killing us is the 50 seconds stage parse of the setting | ||
moritz | psch: that's late bound, IIRC | ||
nine_: I think that already happens with -j | |||
(compiling actions and world in parallel) | 12:34 | ||
and possibly also the compiler | |||
nine_ | moritz: it does. But our Makefile is a bit buggy so actually using -j sometimes gives you a broken build. That's why I've stopped using it. | ||
moritz | nine_: it does? I use it all the time | ||
nine_: star's makefile has that problem for sure | |||
nine_ | Maybe it's been fixed in the meantime. | ||
12:35
jack_rabbit left
|
|||
moritz | and NQP is basically impossible to parallelize much, because it's a bootstrapped compiler, and you simply cannot with one stage before you finished the previous one | 12:35 | |
nine_ | If only there was a way to parallelize the parsing | ||
brrt | we should fund someone to make parsing faster | 12:36 | |
nine_ | That would be money well spent. A quicker compile/test cycle would boost my productivity very much. | ||
RabidGravy | 50 second stage parse? I wish, it's like 150 here | ||
psch | moritz: oh, alright | ||
RabidGravy: build more r-j, 150s will be perfectly fine after a few dozend r-j builds :P | 12:37 | ||
nine_ | RabidGravy: I treated myself with an i7 a couple of years ago. Still enjoying it :) | ||
psch | well, assuming you're currently building r-m and *that* takes 150 secconds | ||
-c | |||
12:37
hotel joined
|
|||
RabidGravy | this is an i7 but quite old now ( ~5 years) and often runs hot so throttles back | 12:38 | |
12:38
hotel_california left
|
|||
brrt | it would also not be a giant developer goodwill leak like it is now | 12:38 | |
[Coke] | m: say <2147483648/3> | ||
camelia | rakudo-moar 14b921: OUTPUT«715827882.666667» | ||
brrt | 'oh, perl is good for text processing. let's do some parsing in perl6..... oh well, maybe not' | 12:39 | |
RabidGravy | though my termcap parser is about twice as quick as it was when I started it | 12:40 | |
nine_ | Maybe I should have invested my time in speeding up parsing instead of working around that with precompilation? | ||
moritz | no | ||
brrt | every bit helps | ||
percompilation is also awesome | |||
moritz | precompilation is immensely important for performance | ||
nine_ | Well I guess it wouldn't be that easy to speed up parsing by a factor of 10000 | ||
brrt | nope | ||
there are just so many cool things to work on :-) | 12:41 | ||
moritz | how well does parsing JIT-compile? | 12:42 | |
lizmat | which bits of code are we actually talking about here ? | ||
moritz | everything involved in parsing | ||
nine_ | so almost exclusively NQP | ||
moritz | the regex engine, the code compiled from the tokens in the grammar | ||
the LTM engine | 12:43 | ||
you name it | |||
lizmat | and directory wise, where are we talking about then ? | ||
psch | probably nqp/src/QRegex/? | 12:44 | |
well, plus the vm-specific ops for the NFA and all i suppose | |||
moritz | right | ||
and then src/Perl6/{Actions,Grammar}* | |||
12:45
dustinm` joined
12:48
pmurias joined,
risou is now known as risou_awy,
risou_awy is now known as risou
|
|||
lizmat | FWIW, I'm looking at Cursor.INTERPOLATE now | 12:50 | |
12:51
Sgeo left
|
|||
moritz | metacpan.org/pod/release/RJBS/perl...ldelta.pod "It was legal until now on ASCII platforms for variable names to contain non-graphical ASCII control characters (ordinals 0 through 31, and 127, which are the C0 controls and DELETE)." | 12:51 | |
wow, TIL | 12:52 | ||
12:52
cdg joined
|
|||
tadzik | oh wow | 12:53 | |
moritz | I did know that spaces between sigil and variable name is allowed :-) | 12:55 | |
12:56
cdg left
|
|||
brrt | moritz: actually pretty decently, but most logic is not implemented in the JIT | 12:57 | |
lizmat | yeah, p5 is pretty weird like that | ||
brrt | or better said | 12:58 | |
most logic is falling out to functions | |||
and in grammars, we have moarvm invocation after moarvm invocation, and those aren't too cheap (yet) | |||
moritz | but that's what jnthn++ is working on, right? | 13:01 | |
brrt | aye | ||
13:03
mr-foobar left
13:04
mr-foobar joined
13:06
sufrostico joined
13:10
azawawi left
|
|||
jnthn | The other big wins in parsing would be avoiding various bits of re-scanning that we do after the NFA has figured things out, and also compiling various simple tokens etc. in a simpler way, rather than assuming they need the full monty of a bstack/cstack | 13:11 | |
brrt | what's a bstack? | 13:13 | |
moritz | backtracking strack | 13:15 | |
brrt | and a cstack? | ||
jnthn | cursor stack | 13:16 | |
(So, things we captured) | |||
brrt | hmm | ||
how does that work? | |||
moritz | magic! | ||
brrt | clearly :-) | ||
so you have two stacks for every nfa state? | 13:17 | ||
13:19
skids joined
13:21
kurahaupo joined
13:22
pierre_ left
13:24
rurban joined
13:29
cdg joined
13:30
cdg left,
cdg joined
|
|||
jnthn | brrt: No, it's two stacks per token/rule/regex | 13:32 | |
One of integers, one of objects | |||
brrt | i see | 13:36 | |
13:39
araujo_ left,
pierre_ joined
13:50
JustinHitla joined
|
|||
JustinHitla | I have string "5HALF-LIFE 3" and I have some programm that parses the string and prints out that string but it recognizes digits as a delay to at which speed print the letters so I need to way to print the digit so I decided to precede it with ' so it would be "5HALF-LIFE '3" and this is the code: foreach $i (0 .. $#str){ if($str[$i]==ord("'")){ | 13:50 | |
print "$str[$i+1]"; }; but now I need to somehow skip over the character so it will not parse that "3" digit because it allready printed it, any ideas how to skip one loop inside foreach ? | |||
13:51
ZoffixW joined
|
|||
ZoffixW | JustinHitla, oh gawd.. This is Perl 6, not C :P | 13:51 | |
RabidGravy | or Perl 5 for that matter | 13:52 | |
JustinHitla | but actually its just one digit so I can just use code: if($str[$i]==ord("'")) print "3"; but it would be better to have universal code where I can encode or "escape" any digit | ||
13:52
grondilu left
|
|||
RabidGravy | JustinHitla, you appear to be asking a question about Perl 5 | 13:53 | |
ZoffixW | Oh, yeah, that too lol | ||
JustinHitla | or I can just do: foreach $i (0 .. $#str){ if($skip == 1) { $skip = 0; continue}; if($str[$i]==ord("'")){ $skip=1; }; right ? | 13:54 | |
Ulti | glot.io/new/perl6 <-- now runs 2016.04 and doesn't have the line noise in error messages :3 | ||
JustinHitla | so no one knows perl5 here ? | ||
Ulti | I do | ||
tadzik | m: "5HALF-LIFE 3".index('3').say | ||
camelia | rakudo-moar 14b921: OUTPUT«11» | ||
ZoffixW | JustinHitla, I do | ||
JustinHitla, but why ask here instead of #perl ? | |||
JustinHitla | ZoffixW: we need to talk | 13:55 | |
ZoffixW | JustinHitla, but even with Perl 5. Breaking up strings into arrays of characters and operating on that is a bit odd. I'd probably just use a while() with a lookbehind for your special case | ||
kurahaupo | JustinHitla: you could try the regular #perl channel | ||
ZoffixW | JustinHitla, while with a regex match that is. Or maybe map/grep on a splitted things | ||
tadzik | "any ideas how to skip one loop inside foreach?" -- you're looking for 'continue' | ||
but it seems to me that you're doing something very awkward :P | |||
RabidGravy | or next | 13:56 | |
tadzik | oh yeah, Perl spells it that way | ||
I think you'd like to know about Twines :) | |||
ZoffixW | JustinHitla, next if $char_is_special; | ||
JustinHitla | so yes I will go with: if($skip == 1) { $skip = 0; continue}; | ||
ZoffixW | JustinHitla, but then you have a problem that you can't use ' | ||
JustinHitla | right | 13:57 | |
tadzik | or how is that "string, data, string" data structure called | ||
just don't do String Typing :) | |||
Ulti | JustinHitla it would be good to both see your current code in a pastebin with details of your inputs and desired outputs | ||
tadzik | I can't find anything on twine on the web now, masak might remember where to find it | 13:59 | |
ZoffixW | <jnthn> spectest would be awesome on it :) <--- I did it on the weekend: TEST_JOBS=1000 make spectest: real 3m51.235s / TEST_JOBS=100 make spectest: 1m53.111s: irclog.perlgeek.de/perl6/2016-05-06#i_12441550 | ||
Well, almost. I had 20 cores instead of 22. + 98GB of RAM | |||
jnthn | ZoffixW: wow | ||
14:00
abraxxa left
14:01
cdg left
|
|||
JustinHitla | I think perl6 folks evolved more than perl5 folks | 14:02 | |
ZoffixW | JustinHitla, what does that mean? :) | ||
JustinHitla | I mean perl5 folks will extinct eventually thay are not fit for survival and they are not sociable creatures | 14:03 | |
tadzik | I, for one, have 3 arms | ||
14:03
cdg joined
|
|||
ZoffixW | JustinHitla, I'm a Perl 5 folk.... | 14:03 | |
tadzik | perl5 people are probably the most social creatures I've ever met | ||
I wouldn't be who I am now if Warsaw.pm folks weren't fun :) | |||
ZoffixW | hugTABTABTAB... dammit | 14:04 | |
stupid bot :( | |||
14:04
sena_kun joined
|
|||
gregf_ | JustinHitla: you dont need s loop for that, something like $str =~ s/[^?]+\?// should do ;) | 14:05 | |
s/ s / a / | |||
14:05
huggable joined
|
|||
gregf_ | oops; s/\?/\'/ | 14:06 | |
14:06
rindolf joined
|
|||
ZoffixW | gregf_, I don't think that accomplishes part of the requirement where the 'HALF-LIFE 3' needs to be printed with 5-second intervals between letters. | 14:06 | |
14:08
khw joined
|
|||
gregf_ | oh, then ignore me :) | 14:10 | |
14:13
colomon left
14:14
colomon joined
|
|||
JustinHitla | I made it so when I have digits the will be preceded by "%" in form of: "8the 8day 8may %9 3in %1%9%4%5 3is 3when 8WWII 3ended" so all digits with "%" in front it will print as digits but other digits the programm will interpret as amount of delay for every letter | 14:23 | |
14:24
AlexDaniel joined
|
|||
JustinHitla | but now I don't know how to delay printing of digits | 14:25 | |
sena_kun | JustinHitla, sleep sub? | 14:27 | |
JustinHitla, doc.perl6.org/routine/sleep | |||
JustinHitla | I use "select(undef, undef, undef, $d);" for delay | ||
AlexDaniel | m: & | 14:28 | |
camelia | rakudo-moar 14b921: OUTPUT«WARNINGS for /tmp/LsWXfxOrPx:Useless use of unnamed & variable in sink context (line 1)» | ||
AlexDaniel | m: &() | ||
camelia | ( no output ) | ||
JustinHitla | so when it parses digit for delay the code is: "if($num>=48 && $num<=57){ $num=$num-48; $d=0.01*$num; }" | ||
of course: $num=ord($str[$i]); | 14:29 | ||
it recognizes it as number because its code is between 48 and 57 | |||
AlexDaniel | why not just match it against /\d/ ? | 14:30 | |
or something | |||
JustinHitla | actually the code was written by me back in august 2009, and I decided to change it few days ago so back then I didn't know much about perl and stuff | 14:31 | |
mst | any chance I can elicit a "congratulations from the perl6 community" comment on www.reddit.com/r/programming/comme...available/ to help make my point? | 14:32 | |
(with the understanding that you can ask me to do vice versa if somebody's being a similar muppet about a rakudo release :) | |||
ZoffixW | m: my $delay = 0; for "8the 8day 8may %9 3in %1%9%4%5 3is 3when 8WWII 3ended".comb: /'%'?\d || ./ { my $l =$_; if $l ~~ /^\d$/ { $delay = $l; next }; $l ~~ s/^'%'(\d)/$0/; say "[sleep $delay] $l" } | ||
camelia | rakudo-moar 14b921: OUTPUT«[sleep 8] t[sleep 8] h[sleep 8] e[sleep 8] [sleep 8] d[sleep 8] a[sleep 8] y[sleep 8] [sleep 8] m[sleep 8] a[sleep 8] y[sleep 8] [sleep 8] 9[sleep 8] [sleep 3] i[sleep 3] n[sleep 3] […» | ||
tadzik | I can chime in | ||
timotimo | oh hey tadzik | ||
i didn't know you also play the chimes! | |||
ZoffixW | mst, www.reddit.com/r/programming/comme...le/d2ym0ip | 14:33 | |
mst | \o/ ta | ||
sorry. just ... the first comment on perl5 version 24's release shouldn't be somebody going 'use perl6!', had it been "congratulations, and remember this other awesome perl exists" I'd've upvoted him, but, no, let's just be divisive | 14:34 | ||
I love people. honest. | |||
<3 #perl6 | |||
jast | good response, though | ||
RabidGravy | no you don't :) | ||
mst | oh, I'm sorry, am I dripping sarcasm on the floor again? | 14:35 | |
mst gets the mop | |||
sena_kun | Here is a one-liner: if "5HALF-LIFE '3 IS GOD" ~~ m/\'(\d)/ { sleep($0.Int); say $/.prematch ~ $/.postmatch }; | ||
RabidGravy | I actually don't understand the tribalism about software anymore | ||
tadzik | people think that if you're attacking something they like, you're attacking them | 14:36 | |
jast | firefox > gimp! | ||
timotimo | ZoffixW: oh god you perl6 guys have to TAKE OVER EVERYTHING ABOUT PERL | ||
jdv79 | RabidGravy: tribalism is a human centered concept though | 14:37 | |
mst | right, humans gonna human | ||
I just like squishing it when I see it, because I don't like it when it escapes and gets in the way of writing code | 14:38 | ||
ZoffixW | sena_kun, my understanding is the requirement is to sleep on each letter with the saved delay. New digits change that delay for all subsequent letters. My convoluted eval above seems to work for that. Not sure if that's what *actually* JustinHitla wanted, since they're writing that in Perl 5. | ||
sena_kun | ZoffixW, aw, it's different then. Yeah, then your version is surely more correct. Anyway, I just tried my perl6 one-liner skills. (: | 14:40 | |
ZoffixW | mst, what's funny, is on a Perl 6 facebook page, there's a guy posting "a better perl" on P6 posts, promoting P11 :P | ||
14:41
pierre_ left
|
|||
mst | oh for pete's sake | 14:41 | |
RabidGravy | which is kinda barking 'cause it appears to be a "worse perl" just a bit faster | 14:42 | |
mst | is he actually talking about rperl? | ||
RabidGravy | yes | 14:43 | |
skids does not understand tribalism in general, not having had much of an extended family nearby during his youth. | |||
And, not liking sports | |||
ZoffixW | m: for ^10 { $ = $_; say $ } | ||
camelia | rakudo-moar 14b921: OUTPUT«(Any)(Any)(Any)(Any)(Any)(Any)(Any)(Any)(Any)(Any)» | ||
mst | rivalries between adjacent high schools do the same thing | ||
and etc. and etc. | |||
it's annoying, but it's totally a universalish human sociological phenomenom | 14:44 | ||
ZoffixW | So $ is really useful for a counter, right? Can't "store" anything in it... | ||
skids | I rmember succumbing to it in high school, but just thought it was a phase everyone would grow out of... boy was I wrong. | ||
14:44
luiz_lha joined
|
|||
timotimo | well, every time you mention $ you get a different one | 14:44 | |
that's why your code above doesn't do what you want | 14:47 | ||
ZoffixW | Ah | ||
mst | m: for ^10 { say $ = $_ } | ||
camelia | rakudo-moar 14b921: OUTPUT«0123456789» | ||
timotimo | you can assign to it, you just have to make sure you refer to the same one when you try to pull something back out | ||
14:47
luiz_lha is now known as Guest33353
|
|||
mst | oh, because of course | 14:47 | |
m: sub f($x) { say $ = $x } for ^10 { f($_) } | |||
camelia | rakudo-moar 14b921: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oMg9sxJL1_Unexpected block in infix position (missing statement control word before the expression?)at /tmp/oMg9sxJL1_:1------> 3sub f($x) { say $ = $x } for ^107⏏5 { f($_) } expecting any …» | ||
mst | m: sub f($x) { say $ = $x }; for ^10 { f($_) } | ||
camelia | rakudo-moar 14b921: OUTPUT«0123456789» | ||
mst | ok, still not what I thought | ||
m: sub f($x) { say $ ||= $x }; for ^10 { f($_) } | |||
camelia | rakudo-moar 14b921: OUTPUT«0111111111» | ||
mst | hah | ||
ZoffixW | m: loop { say '.'; last if $++ > 10 } | ||
camelia | rakudo-moar 14b921: OUTPUT«............» | ||
mst | (I did warn you guys I was fscking terrible at this :) | ||
ZoffixW | m: loop { say $ ?? $++ > 5 !! $-- < -5; last if $++ > 10 } | ||
camelia | rakudo-moar 14b921: OUTPUT«FalseFalseFalseFalseFalseFalseTrueTrueTrueTrueTrueTrue» | ||
ZoffixW | :D | ||
JustinHitla | the only thing I haven't figured out is how to do delay more than 9, if I write "12some text" the programm will see it as 1 followed by 2 and the delay will be 2 units of time not 12 units | 14:50 | |
timotimo | in that case why not just 93 :P | 14:51 | |
ZoffixW | JustinHitla, your problem is you're tackling this issue as an array of characters, instead of as a list of *tokens* | 14:52 | |
tadzik | JustinHitla: stop using strings for this :( | ||
JustinHitla | well well, someone ate a clown on breackfast today | ||
timotimo | i actually still have to get breakfast; i should do that right now | ||
JustinHitla | timotimo: try red haired and red noised clown, I find them taste funny | 14:53 | |
mst | JustinHitla: trout.me.uk/mongodb.jpg *burp* | ||
JustinHitla | that link sounds malicious to me | ||
timotimo | Maliciou S. Trout | ||
ZoffixW | :P | 14:54 | |
14:54
rurban left
|
|||
ZoffixW | JustinHitla, you have a token that changes sleep duration, token that's an escape sequence, and token that's just a plain character to print. Break up your string into those tokens. Loop over them. Change duration if it's a sleep token. Convert the escape sequence into proper character. Prrrriiiint | 14:54 | |
JustinHitla, and this way you can sleep for 2 or for 2_000_000_000 seconds :) | |||
ZoffixW & meeting | |||
mst | JustinHitla: if a plain jpeg file is malicious to your system, you have more problems than the fact your code is currently silly :) | ||
and, yeah, breaking this up into an array of tokens or just crawling along with a while regexp munching a token at a time is the answer | 14:56 | ||
I guess you *could* use a loop with a position in the string and test if $pos+1 also contains a digit, but then you're basically reinventing perl6's existing abilities to do what we already suggested | |||
14:57
pierre_ joined,
pierre_ left,
cbk joined
|
|||
timotimo | you can even put the print and the sleep into curlies inside the regex | 14:58 | |
15:02
brrt left
|
|||
RabidGravy | a neat one would be to parse and return a supply that returned the characters at the appropriate interval | 15:03 | |
mst | oh, yes, that would be very neat | ||
jast | mst: you've got a friendly response on reddit... | 15:05 | |
15:05
ptolemarch joined
|
|||
DrForr | I would love to cover supply &c in the tutorial, but there's just not enough time. | 15:05 | |
15:07
samb1 left
|
|||
mst | jast: :D :D :D :D :D | 15:07 | |
mst also notes one of the /r/perl admins popped up to tell him he earned a ban there | 15:08 | ||
15:08
CIAvash left
|
|||
jast | that guy isn't actually listed as a moderator in /r/perl | 15:09 | |
geekosaur | that character's been popping up and trolling in multiple channels fwiw | 15:10 | |
mst | jast: mm. I *think* he may've reported it and passed it back, IME bennymack usually knows what he's talking about | 15:11 | |
geekosaur: taiarmin? | |||
geekosaur | oh, sorry, I misassociated things | ||
15:11
itcharlie joined
|
|||
timotimo | i was going to say "i don't want someone who acts like that in my perl6 community", but i think insulting mst is a sport with proud heritage in the greater perl community, so i'll let it slide :P | 15:15 | |
15:15
colomon_ joined
|
|||
mst | I'd rather have somebody who can come up with better insults, but otherwise I concur | 15:16 | |
timotimo | well, everybody has to start *somewhere* | ||
15:16
colomon left,
colomon_ is now known as colomon
|
|||
geekosaur | it's a lost art these days | 15:16 | |
jast | I can spend some brain cycles on making better insults if you like | ||
mst replies to him with only a link to www.trout.me.uk/apology.jpg | 15:17 | ||
15:17
cbk left
|
|||
timotimo | wow, that's such a no-pology, mst | 15:18 | |
mst | I was being nice, I didn't send him either hopper.jpg or gfy.gif | ||
jast | sounds like something Bowerick Wowbagger the Infinitely Prolonged might say | ||
mst | jast: one of my personal heroes, yes | 15:19 | |
I continue to look forward to him getting to 'T' | |||
[Coke] wonders if that reddit link from earlier today is now missing the comment that mst was complaining about. | |||
mst | [Coke]: it got downboated below -5 and is thus hidden | ||
which is pretty much what I wanted | |||
caw caw bang f**k you're dead | 15:20 | ||
RabidGravy | I ought to port muttley's insult code to P6 seeing as I wrote half the insults ;-) | ||
15:20
colomon left
15:21
colomon_ joined,
pierre_ joined
|
|||
mst | <3 | 15:21 | |
[Coke] spends way too much time seeing if he can view hidden comments. | 15:22 | ||
tadzik | boo, my comment was for naught | 15:23 | |
mst | [Coke]: www.reddit.com/r/programming/comme...le/d2yk21j | ||
tadzik | oh no, I was looking at /r/perl post | ||
timotimo | "why are there two different versions of perl? after 20 years?" ... hasn't this been talked about like a bajillion times? | 15:24 | |
jast | all the better, then you can answer with a link that concisely explains the situation ;) | ||
huf | if there are children, why are there still adults? | ||
timotimo | why are some people still children after 20 years? | 15:25 | |
huf | if there are shoes, why are there still rotary hoes? | ||
ah, rotary tiller. i knew it sounded better. | |||
not as good as "rotációs kapa" but you cant win'em all :) | 15:26 | ||
mst | timotimo: "Two languages, one family. You might as well ask why there's more than one lisp." | ||
moritz | .oO( There's more than one way to Lisp it ) |
15:27 | |
timotimo | why the hell would anyone still be using scheme when there's common lisp? | ||
come on, just let it die! even php managed to do that! | 15:28 | ||
jast | after brief investigation, emacs lisp is clearly superior to all others | ||
timotimo | mhhh, every variable is dynamically scoped | 15:29 | |
perfect | |||
mst | I thought they finally acquired lexical scoping | ||
huf | yes, years ago | ||
ilmari | I thought someone was working on replacing that with guile? | ||
timotimo | i have no idea. as usual i'm just talking out of my proverbial ass | ||
huf | you-have-to-request-it-with-a-long-thing though, iirc | ||
ilmari | iirc guile has an elisp frontend | ||
jast | I haven't looked at emacs very hard, honestly, but I read about all these warts it has for hysterical raisins | ||
mst | it's guile's fault I have a pause account | ||
moritz | (yes-i-want-a-lexical-variable x) | ||
ilmari | lexical-let | ||
jast | interesting topic, though. with all these upstarts trying to replace vim, is there any project that's trying to replace emacs? | 15:30 | |
geekosaur | letxical? | ||
mst | jast: eclipse? | ||
timotimo | how can elisp have lexical variables when they don't have any curlies? :P | ||
jast | forks with minor changes excluded | ||
geekosaur | emacs jhas been trying to replace itself (with one based on guile), not very successfully | ||
15:30
cbk joined
|
|||
mst | timotimo: if you don't know how to built let out of lambda, you're (a) not a true lisper (b) have never written javascript | 15:31 | |
jast | mst: well, eclipse does have one thing going for it: it needs a lot more java packages | ||
timotimo | :) | ||
huf | is there a js compiler that compiles sane js to shit js? | ||
mst | huf: babel | ||
jast | you mean more shit than 'minifiers'? | ||
huf | i am going to beat that into our head. | ||
stmuk | there was the lucid or xemacs fork and jed was somewhat emacs-like (although based on s-lang) | ||
huf | i mean it lets me use "let" in a browser | 15:32 | |
mst | huf: indeed | ||
huf | and before someone brings up latest chrome or some shit like that, i mean ie :D | ||
mst: yaay | |||
mst | I was trying to get it all installed over the weekend | ||
but then nope.js wanted a newer g++ and I declined to go down that rathole at the time | |||
moritz | I recently read a piece about how emacs idea of being very configurable and extensible has been adopted by all major text editors | ||
jast | for some values of 'extensible' I guess | ||
moritz | but vim's idea of having text objects and composable commands that work on them haven't been nearly as widely adopted | 15:33 | |
15:33
rurban joined
|
|||
timotimo | i read that, too | 15:33 | |
jast | oh, that one | ||
vim's composability *is* nice | |||
itcharlie | any idea how I can fix this error? gist.github.com/itcharlie/7047355b...d233be3e7f | ||
error string : "Cannot locate native library" | |||
stmuk | I quite liked the sound of "vis" | ||
mst continues to be be happy with ex-vi | 15:34 | ||
vim is ... well, I'm convinced vimscript was invented due to a drunken bet of the form "bet you can't make something that makes elisp look good" | 15:35 | ||
timotimo | itcharlie: can you see if the path it has in that line exists? | ||
geekosaur uses nvi and emacs (and played with atom a bit) | |||
and mst just stole my line re vimscript :p | |||
[Coke] | itcharlie: does it work with an http url? | ||
stmuk | I went to a talk about vimscript which was interesting but my main takeaway was I swore never to use it | ||
itcharlie | [Coke]: yes it works with http url | 15:36 | |
jast | vimscript is very... ad hoc | 15:37 | |
vim does have bindings for various real languages, though, from what I know | |||
timotimo | that's right | ||
15:37
ssotka joined
|
|||
sena_kun | HTTP::Easy started with bailador collects nice headers, but HTTP::Server::Tiny recieves only Any in a @headers and fails. Why is guilty? | 15:37 | |
timotimo | at least python and ruby, probably also perl | ||
stmuk | I'd probably abandon both vim and emacs if Linus wrote a replacement | 15:38 | |
jast | not sure Linus is interested in that | ||
but it's definitely possible to make something much better than both vim and emacs | |||
mst | my slow, multi-year plan, is to turn ex-vi into a libvi and then bind it into perl as an XS module | ||
given how many years and how little progress and how it's mostly just for my own amusement, maybe I should FFI it into perl6 instead | |||
RabidGravy | mst++ # crack addled | 15:39 | |
sena_kun | stmuk, Linus uses microemacs fork afaik. | ||
stmuk | he has joked about it .. as long as its not based on uemacs it could be interesting | ||
itcharlie | With a https url I needed to install IO::SOCKET::SSL which comes with a list of dependencies. one dependency is Find::Bundled which is what I think may be breaking it. | ||
stmuk | sena_kun: yes | ||
itcharlie | [Coke]: ^ previous comment | ||
jast | I've thought about writing my own editor, just for the fun of it, but then again all this stuff takes time | ||
RabidGravy | itcharlie, yes that seems likely | ||
masak | mst: ...but did you know that in JavaScript, you can build `let` out of `throw`/`catch`? :D | 15:41 | |
(ohayo, #perl6) | |||
mst | masak: u wot | ||
I know (function (x) { ... })(x) | 15:42 | ||
masak | mst: well, you can express `let x = 42; ...` as `try { throw 42 } catch (x) { ... }` | 15:43 | |
notably, `catch` is the only ES3 feature which has block scope rather than function scope! | 15:44 | ||
mst | ... ... ... ... ... ... ... ... *boom* | ||
huf | this is why i became a programmer! | ||
nasty disgusting stuff like this :D | |||
15:47
cbk left
15:48
cbk joined
|
|||
tadzik | oh wow | 15:49 | |
15:50
domidumont left
|
|||
kurahaupo | mst: is that a morse fuse going "sssssss" ? :-) | 15:50 | |
jast | figures that I'd learn more nasty stuff about javascript in #perl6 | 15:51 | |
mst | kurahaupo: noise on the line until the hardware watchdog kicked in and rebooted my brain :D | ||
15:52
lnrdo_ joined
|
|||
masak would like to recommend github.com/getify/You-Dont-Know-JS to everyone who doesn't know about it already | 15:53 | ||
15:53
_mg_ left
15:54
lnrdo_ left,
cbk left,
cbk joined,
araujo joined
15:59
pullphinger joined
16:01
ggoebel114 left
16:02
samb1 joined
|
|||
moritz always knew he didn't know JS | 16:08 | ||
ugexe | itcharlie: maybe `zef/panda update`... i removed the dependency on Find::Bundled for OpenSSL the other day | ||
github.com/sergot/openssl/commit/8...4dfe435cL6 | 16:10 | ||
tadzik | oh, another module with Build gone :) ugexe++ | ||
ugexe | you'll probably want to reinstall HTTP::UserAgent *after* you install IO::Socket::SSL though | 16:11 | |
16:15
rurban1 joined,
finanalyst left
|
|||
masak | tadzik: what's the thing behind "Build gone"? I've missed that. | 16:15 | |
(I do see that the `build-depends` key went away in that commit) | 16:16 | ||
16:16
rurban left
|
|||
tadzik | ...it did? | 16:17 | |
crap, -a bit me again | |||
oh, wait | |||
openssl doesn't need Build.pm anymore | |||
and panda also no longer requires for that Build.pm to inherit Panda::Builder | 16:18 | ||
RabidGravy | If I have a list of pairs with duplicate keys, what's the neatest way to turn that into a hash with those keys, and the values arrays of the encountered values | 16:21 | |
e.g. I'm doing "'somefile'.IO.lines>>.split(/\s+/).map( -> ($a, $b, $c) { one => $a, two => $b, three => $c }).flat" | |||
moritz | RabidGravy: my %h; %h.push(list) | ||
RabidGravy | yeah, that's what I'm actually doing right now | ||
moritz | m: (my %h).push( 'a' => 1, 'b' => 2, 'a' = 3); say %h.perl | ||
camelia | rakudo-moar df4eb8: OUTPUT«Cannot modify an immutable Str in block <unit> at /tmp/axxoozCZ2n line 1» | ||
moritz | m: (my %h).push( 'a' => 1, 'b' => 2, 'a' => 3); say %h.perl | ||
camelia | rakudo-moar df4eb8: OUTPUT«{:a($[1, 3]), :b(2)}» | ||
ZoffixW | :o | 16:22 | |
RabidGravy | I'll stick with that then ;-) | ||
moritz | there's nothing more elegant than the primitive we provided FOR EXACTLY THIS USE CASE :-) | 16:23 | |
masak | couldn't one also do something similar with .classify(*.key) ? | 16:26 | |
psch | m: my %h = ( a => 1, b => 2, a => 3 ).classify(*.key); say %h | 16:27 | |
camelia | rakudo-moar df4eb8: OUTPUT«{a => [a => 1 a => 3], b => [b => 2]}» | ||
masak | hm. almost :) | ||
RabidGravy | m: say ( a => 1, b => 2, a => 3 ).classify(*.key, as => { $_.value}) | 16:28 | |
camelia | rakudo-moar df4eb8: OUTPUT«{a => [1 3], b => [2]}» | ||
masak | m: say ( a => 1, b => 2, a => 3 ).classify(*.key, as => *.value) | 16:29 | |
camelia | rakudo-moar df4eb8: OUTPUT«{a => [1 3], b => [2]}» | ||
masak | m: say ( a => 1, b => 2, a => 3 ).classify(*.key, :as(*.value)) | ||
camelia | rakudo-moar df4eb8: OUTPUT«{a => [1 3], b => [2]}» | ||
16:30
domidumont joined
16:34
cbk left
16:36
cbk joined
16:38
sena_kun left
|
|||
RabidGravy | "goatish beef-witted pigeon-egg" | 16:45 | |
16:45
rurban joined
|
|||
RabidGravy | there, ported to about 5 lines of code | 16:46 | |
16:46
pullphinger left,
[particle] left
|
|||
timotimo | from how many? | 16:46 | |
16:47
pullphinger joined,
rurban1 left
|
|||
RabidGravy | ~20 or so | 16:49 | |
timotimo | that's not bad | ||
16:52
rurban left
16:56
cbk_ joined,
cbk left,
cbk_ is now known as cbk,
cbk left
16:57
cbk joined
|
|||
RabidGravy | "goatish bat-fowling giglet" ;-O | 16:59 | |
dalek | c: b8efc34 | (Sterling Hanenkamp)++ | doc/Language/ (2 files): Fix a spelling error and wrap in phasers/concurrency |
||
c: 25aa713 | (Jan-Olof Hendig)++ | doc/Language/5to6-perlop.pod: Fixed a few broken links |
17:00 | ||
17:01
cbk_ joined,
cbk left,
cbk_ is now known as cbk,
molaf joined
|
|||
timotimo | huh, all those posts from the "perl 5.24 is available" thread got deleted along with the user | 17:02 | |
geekosaur glances at what look like DCSS imp insults in backscroll >.> | 17:04 | ||
17:04
cbk_ joined
17:05
cbk left
|
|||
psch | that's something i haven't played in some time... | 17:05 | |
17:06
ggoebel114 joined
17:08
cbk_ left,
cbk joined
|
|||
ZoffixW | timotimo, ... it's still there: www.reddit.com/r/programming/comme...available/ | 17:11 | |
17:11
travis-ci joined
|
|||
travis-ci | Doc build failed. Sterling Hanenkamp 'Fix a spelling error and wrap in phasers/concurrency' | 17:11 | |
travis-ci.org/perl6/doc/builds/128906171 github.com/perl6/doc/compare/30a4a...efc34a3570 | |||
17:11
travis-ci left
|
|||
timotimo | ZoffixW: um, clear your cache? | 17:11 | |
geekosaur | "posts from the thread" | ||
oh | |||
17:12
espadrine left
|
|||
ZoffixW | timotimo, oh, you mean the 'better perl' guy? I thought you meant the whole thread. | 17:12 | |
17:13
hankache joined
|
|||
jast | the user is still there, only the posts are gone | 17:13 | |
ZoffixW | I see '[deleted]' for the username | ||
mst | yes, they do that when comments are deleted | 17:14 | |
jast | yeah, that happens for all deleted posts | ||
*comments | |||
ZoffixW | Ah | ||
hankache | good evening #perl6 | ||
ZoffixW doesn't read reddit... too many trolls and haters | |||
jast | depends on where you go | ||
17:16
firstdayonthejob joined
17:18
espadrine joined
17:20
cbk left
|
|||
stmuk | the negative karma thing helps | 17:20 | |
17:27
cbk joined,
ZoffixW left
17:29
spider-mario joined
|
|||
mst | if it gets enough downvotes, it's hidden; if it gets even worse, then people will often delete the comment | 17:31 | |
huf | i really hate that | ||
so often i cant get properly angry because the comment is gone by the time i get to it | |||
17:32
_rubio_ joined
17:34
CIAvash joined
|
|||
jast | huf: just get angry about something else, Problem Solved (tm) | 17:35 | |
cbk | Lol | 17:36 | |
geekosaur | "I'm always angry." | ||
jast | for instance, in allwinner's sunxi linux fork, there's a proc entry to which you can write a magic string to upgrade your current task to root privs | 17:38 | |
itcharlie | ugexe: I tried to update / uninstall but doesn't work. I need a new rakudo build on Windows : | ||
gist.github.com/itcharlie/c6f47352...5619a71482 | |||
17:40
cbk left
17:41
nicq joined
|
|||
nicq | p6: say "hello" | 17:41 | |
camelia | rakudo-moar df4eb8: OUTPUT«hello» | ||
17:41
rurban1 joined
|
|||
nicq | p6: constant target = "METHINKS IT IS LIKE A WEASEL"; constant mutate_chance = .08; constant @alphabet = flat 'A'..'Z',' '; constant C = 100; | 17:42 | |
camelia | ( no output ) | ||
nicq | p6: constant target = "METHINKS IT IS LIKE A WEASEL"; constant mutate_chance = .08; constant @alphabet = flat 'A'..'Z',' '; constant C = 100; sub mutate { $^string.subst(/./, { rand < mutate_chance ?? @alphabet.pick !! $/ }, :g) } sub fitness { [+] $^string.comb Zeq state @ = target.comb } loop ( my $parent = @alphabet.roll(target.chars).join; $parent ne target; $parent = max :by(&fitness), mutate($parent) xx C ) { printf " | 17:43 | |
camelia | rakudo-moar df4eb8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileStrange text after block (missing semicolon or comma?)at /tmp/tmpfile:1------> 3_chance ?? @alphabet.pick !! $/ }, :g) }7⏏5 sub fitness { [+] $^string.comb Zeq sta expecting any of:…» | ||
nicq | p6: constant target = "METHINKS IT IS LIKE A WEASEL"; constant mutate_chance = .08; constant @alphabet = flat 'A'..'Z',' '; constant C = 100; sub mutate { $^string.subst(/./, { rand < mutate_chance ?? @alphabet.pick !! $/ }, :g) } sub fitness { [+] $^string.comb Zeq state @ = target.comb } loop ( my $parent = @alphabet.roll(target.chars).join; $parent ne target; $parent = max :by(&fitness), mutate($parent) xx C ) {printf "% | ||
camelia | rakudo-moar df4eb8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileStrange text after block (missing semicolon or comma?)at /tmp/tmpfile:1------> 3_chance ?? @alphabet.pick !! $/ }, :g) }7⏏5 sub fitness { [+] $^string.comb Zeq sta expecting any of:…» | ||
nicq | p6: constant target = "METHINKS IT IS LIKE A WEASEL"; constant mutate_chance = .08; constant @alphabet = flat 'A'..'Z',' '; constant C = 100; sub mutate { $^string.subst(/./, { rand < mutate_chance ?? @alphabet.pick !! $/ }, :g) }; sub fitness { [+] $^string.comb Zeq state @ = target.comb } loop ( my $parent = @alphabet.roll(target.chars).join; $parent ne target; $parent = max :by(&fitness), mutate($parent) xx C ) {printf " | 17:44 | |
camelia | rakudo-moar df4eb8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileStrange text after block (missing semicolon or comma?)at /tmp/tmpfile:1------> 3^string.comb Zeq state @ = target.comb }7⏏5 loop ( my $parent = @alphabet.rol expecting any of:…» | ||
17:44
aries_liuxueyang left
|
|||
JustinHitla | can something be more cryptic than that output ? | 17:44 | |
nicq | ? | ||
itcharlie | nicq: you have perl6 installed on your machine? | 17:45 | |
nicq | Oh, I didn't realize this would show up for you too! Sorry... | ||
Yeah, I have it on my machine | |||
JustinHitla | nicq: it shows up for everyone in channel too | ||
17:45
aries_liuxueyang joined
|
|||
nicq | ._. | 17:46 | |
psch | nicq: most importantly, your code is too long for irc :) | ||
nicq: you could feed a gist to camelia | |||
JustinHitla | nicq: its not like when querry DCC bot | ||
psch | nicq: which also works in a query with camelia, fwiw | ||
RabidGravy | it's the end times isn't it? | 17:47 | |
JustinHitla | its 03:37 here | ||
need one bit flipped | |||
nicq | Oh, ok. I found some code on Rosetta Code and I was trying to figure out how it works. It works fine on my machine, so I wanted to try it somewhere else as well. 'rosettacode.org/wiki/Evolutionary_a...hm#Perl_6' | 17:48 | |
Not real sure why/how this works. | |||
mst | nicq: 's ok, the regulars are usually fairly happy with getting to see what people are doing so long as you stop after two or three | ||
but once you've exceeded irc line length it's time to pick a different approach | 17:49 | ||
nicq | Good point. | 17:50 | |
17:50
[particle] joined
17:51
_28_ria left
|
|||
nicq | I was mainly trying to figure out how the line `sub fitness { [+] ...` works. I've never seen `Zeq` used before. | 17:52 | |
JustinHitla | "regulars" means "average joes" ? | ||
itcharlie | ugexe: I'll continue working on that code in Linux. just wanted to point out that it doesn't work in Windows10. I'll wait for a new Rakudo Build for windows and test zef update and uninstall again. | ||
mst | JustinHitla: means "people who are here regularly", just like it does everywhere else | 17:53 | |
17:53
pierre_ left
|
|||
psch | nicq: Zeq is probably easier understood as Z[eq] | 17:59 | |
m: say <foo bar> Z[eq] <foo bar> | 18:00 | ||
camelia | rakudo-moar df4eb8: OUTPUT«(True True)» | ||
psch | m: say <foo bar> Z[eq] <foo baz> | ||
camelia | rakudo-moar df4eb8: OUTPUT«(True False)» | ||
nicq | psch: Oh, ok. So it compares the elements in two arrays instead of the array as a whole? | 18:01 | |
dalek | c: 42d3732 | (Jan-Olof Hendig)++ | doc/Language/5to6-perlsyn.pod: Fixed a broken link |
18:02 | |
18:03
avenj left,
avenj joined,
tharkun left,
rurban1 left
18:05
huggable left,
huggable joined
|
|||
TimToady | JustinHitla: we could certainly make that message more cryptic by leaving out the "(missing semicolon or comma?)" or by not indicating exactly where the error occurred... | 18:06 | |
nicq | psch: Thank you, makes sense now. | ||
psch | nicq: well, Z is a meta operator that "zips" two Positionals | ||
nicq | psch: Ok, so it was throwing a `eq` between each of them. | 18:07 | |
TimToady | m: say 1,2,3 Z+ 1,1,1 | ||
camelia | rakudo-moar df4eb8: OUTPUT«(2 3 4)» | ||
TimToady | you can use it on any infix operator, pretty much | 18:08 | |
psch | m: (my ($x, $y)) Z= 1, 2; say $x | 18:09 | |
camelia | rakudo-moar df4eb8: OUTPUT«1» | ||
psch | ...although that specific one is kinda silly, with list-assign being a thing :) | ||
TimToady | m: my $x, my $y Z= 1,2; say $x | ||
camelia | rakudo-moar df4eb8: OUTPUT«1» | ||
TimToady | you can omit the parens on the left with Z= | ||
nicq | More than one way to do things | 18:10 | |
TimToady | there's a slogan in there somewhere... | ||
nicq | [insert giant acronym here] | 18:11 | |
mst | m: say [1,2],[3,4] ZZ* [5,6],[7,8] | 18:12 | |
camelia | rakudo-moar df4eb8: OUTPUT«((5 12) (21 32))» | ||
mst | TimToady: not quite J, but neat. | 18:13 | |
nicq | So, if `Zeq` is a combination of `Z` and `eq` what does the `:by` mean in the `parent = max :by(&fitness), mutate($parent) xx C` line? | 18:14 | |
TimToady | it's just a named argument | 18:15 | |
18:15
cdg left,
brrt joined
|
|||
TimToady | changes the default comparison operator to something else | 18:15 | |
nicq | Oh! That makes much more sense. So instead of `by => &fitness` they used `:by(&fitness)`? | 18:17 | |
18:17
cpage_ joined
|
|||
TimToady | you can use either of those, yes | 18:17 | |
nicq | Ok, still used to Perl 5. Forgot you could do that... | 18:18 | |
mst | whereas over in perl5 land we have to have p3rl.org/List::UtilsBy to get the same behaviour | ||
<3 that module, but the perl6 named arg stuff makes things way nicer | |||
18:19
skink joined
18:21
tharkun joined
18:24
pierre_ joined
18:25
pierre_ left
18:26
_rubio_ left
18:28
cpage_ left
|
|||
skink | RabidGravy, Do you remember me mentioning OAuth2? | 18:28 | |
RabidGravy | I do | 18:29 | |
skink | pm? | ||
RabidGravy | eh? | ||
18:30
tinita left
|
|||
mst | RabidGravy: he means "can I private message you without you setting me on fire?" | 18:30 | |
skink | ^ That :) | ||
mst | there's a freenode tradition of asking permission in a channel first, for ... whatever reason | 18:31 | |
18:33
tharkun left,
tharkun joined
18:39
_28_ria joined
18:45
espadrine_ joined
18:47
PotatoGim left
|
|||
dalek | osystem: 0626e73 | RabidGravy++ | META.list: Add Acme::Insult::Lala See github.com/jonathanstowe/Acme-Insult-Lala |
18:47 | |
18:48
PotatoGim joined
18:49
espadrine left
|
|||
RabidGravy | just got bored halfway through this other thing I started today | 18:50 | |
AlexDaniel | m: my $x, my $y Z:= 1,2; say $x; say $y | 18:51 | |
camelia | rakudo-moar df4eb8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HvHSYzaf5ECannot zip with := because list assignment operators are too fiddlyat /tmp/HvHSYzaf5E:1------> 3my $x, my $y Z:=7⏏5 1,2; say $x; say $y» | ||
AlexDaniel | awww | ||
18:51
mr-foobar left,
pullphinger left
|
|||
AlexDaniel | m: my $x = my $y | 18:52 | |
camelia | ( no output ) | ||
18:52
pullphinger joined
|
|||
psch | m: my $x := my $y | 18:53 | |
camelia | ( no output ) | ||
psch | m: my $x R:= my $y | ||
camelia | rakudo-moar df4eb8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uPXTvG95vCCannot reverse the args of := because list assignment operators are too fiddlyat /tmp/uPXTvG95vC:1------> 3my $x R:=7⏏5 my $y» | ||
nicq | 'Too fiddly' | 18:54 | |
Best error message | 18:55 | ||
18:55
brrt left
18:56
huggable left,
huggable joined,
ZoffixW joined
|
|||
ZoffixW | huggable, insult RabidGravy | 18:57 | |
huggable | RabidGravy is a venomed hell-hated hedge-pig | ||
ZoffixW | 😂😂😂 | ||
RabidGravy | :) | ||
AlexDaniel | psch: well, what you are trying to do is probably this | ||
m: my $x := (my $y := $x); say $x.WHAT # RT #127254 | 18:58 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127254 | ||
camelia | rakudo-moar df4eb8: OUTPUT«(Mu)» | ||
AlexDaniel | oh interesting | ||
star: my $x := (my $y := $x); say $x.WHAT | |||
camelia | star-m 2016.01: OUTPUT«(signal SEGV)» | ||
AlexDaniel | so it got better! | ||
18:59
jjido joined
|
|||
AlexDaniel | 2016.03 still SEGV | 18:59 | |
18:59
dalek left
|
|||
AlexDaniel | dalek :( | 19:00 | |
19:00
dalek joined,
ChanServ sets mode: +v dalek
|
|||
masak | huggable: insult masak | 19:01 | |
huggable | masak is a bawdy rump-fed boar-pig | ||
masak | well, yeah | ||
psch | AlexDaniel: not... really. i was just checking if := and = are equally fiddly | ||
ZoffixW | huggable, insult me | ||
huggable | ZoffixW is a froward swag-bellied wagtail | ||
psch | AlexDaniel: hm, i suppose that's not quite right either, 'cause < my $x R= my $y > works... so, i guess it was just "let's see what happens" vOv | 19:03 | |
mst | I liked hedge pig | ||
psch | i suppose though that means that we don't really have item-bind... | ||
perlpilot | huggable: insult huggable | ||
huggable | huggable is a clouted guts-griping coxcomb | ||
AlexDaniel | huggable: insult masak | 19:04 | |
huggable | masak is a rank earth-vexing vassal | ||
AlexDaniel | mmmhmm | 19:05 | |
19:05
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
AlexDaniel | huggable: insult masak | 19:06 | |
huggable | AlexDaniel, masak is a bot | ||
ZoffixW | pfft | ||
nicq | oh snap | ||
psch | masak++ is the RT-ticket bot, and very good at it | 19:07 | |
that's not even an insult | |||
ZoffixW | That's because it's a factoid :) | ||
huggable, masak | |||
huggable | ZoffixW, nothing found | ||
ZoffixW | Ohhh, I see. | ||
AlexDaniel | psch: now I have to find a new way to make it SEGV | ||
psch: it is still a null object | |||
ZoffixW | AlexDaniel cheetsy-doodled and stored as part of a factoid | ||
psch | m: BEGIN my $x := my $y; say $x.WHAT | 19:08 | |
camelia | rakudo-moar df4eb8: OUTPUT«(Mu)» | ||
psch | m: my $x := my $y; say $x.WHAT | ||
camelia | rakudo-moar df4eb8: OUTPUT«(Any)» | ||
psch | AlexDaniel: well, maybe that helps you wrt trying to make it SEGV... :) | ||
AlexDaniel whistles innocently | |||
m: my $x := my $y; say $x.WHICH; say $y.WHICH | 19:09 | ||
camelia | rakudo-moar df4eb8: OUTPUT«AnyAny» | ||
AlexDaniel | m: my $x := (my $y := $x); say $x.WHICH | 19:10 | |
camelia | rakudo-moar df4eb8: OUTPUT«Cannot call method 'WHICH' on a null object in block <unit> at /tmp/ebeXcs9Ekx line 1» | ||
masak is indeed a bot | 19:11 | ||
huf | masaka! | 19:12 | |
vendethiel- | masak++ # auto-fixing bot | ||
19:14
mr-foobar joined
19:15
|2701 left
19:17
Fleurety joined
|
|||
dogbert17 | o/ #perl6 | 19:18 | |
19:18
rindolf left
|
|||
dogbert17 | what do you know about this class doc.perl6.org/type/Proc::Status has it been removed? | 19:19 | |
m: say Proc::Status.^methods(:local) | 19:21 | ||
camelia | rakudo-moar df4eb8: OUTPUT«Could not find symbol '&Status' in block <unit> at /tmp/OvDNasYsVa line 1Actually thrown at: in block <unit> at /tmp/OvDNasYsVa line 1» | ||
nine_ | commit 03b5a0abb58905f8e8e6e768186696f10e37729e Author: Rob Hoelz [email@hidden.address] Date: Fri Sep 4 13:23:15 2015 -0500 Removed a bunch of deprecated I/O constructs | ||
dogbert17: ^^^ | 19:22 | ||
dogbert17 | nine_: thx | ||
so I guess noone will be terribly disappointed if I remove this from the docs? | |||
mst | dogbert17: I would doubt it. I wonder if you could script finding things like that | 19:23 | |
ZoffixW | Right, toss it. | ||
mst | Pod::Uncoverage | ||
19:23
mr-foobar left
|
|||
ZoffixW | mst, well volunteered! :) | 19:23 | |
dogbert17 | thx, will remove | ||
geekosaur | "voluntold" | 19:24 | |
mst | ZoffixW: I was going to, but then he said 'thx' | ||
so now I don't care anymore | |||
ZoffixW | 😂😂😂 | ||
RabidGravy | I was getting a false positive about it existing as I had an ancieunte m-CORE.setting hanging around | 19:25 | |
19:25
domidumont left,
mr-foobar joined,
sortiz joined,
nicq left
|
|||
sortiz | . | 19:27 | |
masak | : | ||
RabidGravy | ^ | ||
ZoffixW | ! | ||
⋮ | 19:28 | ||
Aw, it doesn't line up. | |||
masak | ⣿ | ||
dalek | c: 7992f1f | (Jan-Olof Hendig)++ | doc/Type/Proc/Status.pod: Removed doc/Type/Proc/Status.pod |
19:36 | |
19:37
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
ZoffixW | what's with dalek :/ | 19:37 | |
19:41
sufrostico left
|
|||
dogbert17 | mst: htmlify.p6 had in fact generated an error wrt Proc::Status, i.e. Type Proc::Status not found in type-graph data | 19:41 | |
ZoffixW | Well, I finished C lesson in Learn X in Y minutes... Now I'm ready to hack on MoarVM! | 19:42 | |
\o/ 🎉 | 19:43 | ||
19:43
sufrostico joined
|
|||
dogbert17 | it says the same for 'X::Temporal::Truncation' and 'X::Syntax::Augment::Role'. Maybe they're gone as well | 19:43 | |
RabidGravy | quick grepping of the source would help answer | 19:44 | |
ZoffixW | dogbert17, looks like. I see no matches for Truncation nor Augment::Role in the sauce | 19:45 | |
dogbert17, which is here: github.com/rakudo/rakudo/ | |||
Types are in src/ and modules are in lib/ (and there's probably something else I don't know about :P) | |||
mst | dogbert17: awesome | 19:46 | |
dogbert17 | seems as if the Temporal stuff was removed in 2013 by someone called 'masak' :) | 19:47 | |
7e10a0dfa1f410e1ea362b75cd114b5a45723ac2 | 19:48 | ||
[Coke] | fyi, 2015 is ancient history already | 19:49 | |
(so, keep that in mind about 2013 commits) | |||
moritz | PSA: tonight between 20:00 UTC and midnight UTC, hack.p6c.org and the webserver might suffer from power loss | ||
there's some urgent maintenance in the data center | 19:50 | ||
19:50
espadrine_ left
|
|||
dogbert17 | [Coke]: indeed | 19:50 | |
moritz | "It's not entirely ruled out that a brief interruption of the power supply of the circuits F7, F8 and F9 can occur." is the exact wording :-) | ||
19:52
ZoffixW left
|
|||
psch | moritz: better announced maintenance than runaway process that bring the load over 200... :) | 19:52 | |
+a | |||
19:54
colomon_ left
19:55
CIAvash left
19:56
colomon joined
|
|||
dalek | c: f33f8af | (Jan-Olof Hendig)++ | doc/Type/X/ (2 files): Removed doc/Type/X/Syntax/Augment/Role.pod and doc/Type/X/Temporal/Truncation.pod |
19:57 | |
dogbert17 | m: say Pair.^methods(:local) # anyone who knows what freeze is supposed to do? | 20:03 | |
camelia | rakudo-moar df4eb8: OUTPUT«(antipair freeze fmt FLATTENABLE_LIST FLATTENABLE_HASH of new WHICH ACCEPTS Method+{<anon|44705520>}.new Method+{<anon|44705520>}.new Method+{<anon|44705520>}.new Method+{<anon|44705520>}.new Method+{<anon|44705520>}.new Method+{<anon|44705520>}.new Str gi…» | ||
masak | 'night, #perl6 | 20:04 | |
dogbert17 | the src doesn't tell me much: method freeze(Pair:D:) { $!value := nqp::decont($!value) } | 20:05 | |
20:06
yqt joined
|
|||
psch | m: my $pair = a => 1; $pair.freeze; $pair.value = "foo" | 20:06 | |
camelia | rakudo-moar df4eb8: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/pCefxN4O2y line 1» | ||
psch | dogbert17: does that help? :) | 20:07 | |
20:07
cpage_ joined
|
|||
dogbert17 | psch: not sure | 20:08 | |
m: my $pair = a => 1; $pair.value = "foo" | |||
camelia | rakudo-moar df4eb8: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/qk88HBCvMQ line 1» | ||
20:09
cdg joined
|
|||
psch | *that* looks wrong | 20:09 | |
m: my $pair = a => 1; $pair.value = 2 | |||
camelia | rakudo-moar df4eb8: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/7dwRo2dH81 line 1» | ||
psch | m: my $pair = Pair.new("foo", 5); $pair.value = 2 | 20:10 | |
camelia | rakudo-moar df4eb8: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/nEBes4Rck5 line 1» | ||
psch | oohh | ||
m: my $pair = a => $ = "foo"; $pair.value = "bar"; say $pair | |||
camelia | rakudo-moar df4eb8: OUTPUT«a => bar» | ||
psch | dogbert17: so, to explain my insight: a Pair *can* be created with a container for the value, so the value can be changed | 20:11 | |
dogbert17: .freeze decontainerizes .value, which turns .value from a-box-with-a-value-inside into a value | 20:12 | ||
m: my $pair = a => $ = "foo"; $pair.value = "bar"; say $pair; $pair.freeze; try $pair.value = "baz"; say "didn't work" if $! | |||
camelia | rakudo-moar df4eb8: OUTPUT«a => bardidn't work» | ||
psch | so, even though it looked wrong, it isn't, because we didn't put a container into .value | 20:13 | |
m: my $pair = ["foo"].pairs[0]; $pair.value = "bar"; say $pair | 20:14 | ||
camelia | rakudo-moar df4eb8: OUTPUT«0 => bar» | ||
sortiz | m: my $v; my $p = :foo($v); $p.value = 'hi'; $p.freeze; say $p $p.value = 'foo'; # This illustrate the case | ||
camelia | rakudo-moar df4eb8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cH6l7oA1mdTwo terms in a rowat /tmp/cH6l7oA1md:1------> 3($v); $p.value = 'hi'; $p.freeze; say $p7⏏5 $p.value = 'foo'; # This illustrate the expecting any of: infix infi…» | 20:15 | |
sortiz | m: my $v; my $p = :foo($v); $p.value = 'hi'; $p.freeze; say $p; $p.value = 'foo'; # This illustrate the case | ||
camelia | rakudo-moar df4eb8: OUTPUT«foo => hiCannot modify an immutable Str in block <unit> at /tmp/l8pSHhEAWp line 1» | ||
dogbert17 | I get it (finally) :) psch++ sortiz++ | 20:16 | |
all that remains is for me to document this then :) | 20:17 | ||
psch | dogbert17++ # docs | ||
20:21
hotel_california joined
20:22
hotel left
20:23
nowan_ left
20:24
darutoko left
|
|||
pmurias | mst: isn't the reason for asking about pm that people often don't notice private messages in some clients? (irssi) | 20:24 | |
mst | pmurias: there are definitely people who regard a pm without prior warning to be rude | 20:25 | |
pmurias: and there's a +g server side mode where queries are blocked until you unblock them, and that's easy to miss | |||
I don't find irssi query windows themselves easy to miss | |||
20:26
jnthn left,
jnthn joined,
nowan joined
|
|||
RabidGravy | I use a tabbed graphical client anyway | 20:26 | |
20:28
pmurias left
20:30
kaare_ left
|
|||
[Coke] | irc-- | 20:31 | |
tony-o | that's been my understanding of asking prior to pm-ing too (rudeness) | 20:32 | |
20:32
mr-foobar left,
dalek left
|
|||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/05/09/...r-strikes/ | 20:32 | |
20:33
dalek joined,
ChanServ sets mode: +v dalek,
mr-foobar joined
|
|||
sortiz | lizmat++ | 20:34 | |
20:37
hotel joined
20:38
colomon_ joined,
colomon left,
colomon_ is now known as colomon
20:39
hotel_california left,
dalek left
|
|||
AlexDaniel | “The auto-threader is now 2x to 3x faster” wait, there is an auto-threader? | 20:40 | |
20:40
dalek joined,
ChanServ sets mode: +v dalek
|
|||
timotimo | AlexDaniel: it's not what you think :) | 20:40 | |
moritz | AlexDaniel: yes, it's just not mutli threaded :-) | ||
[Coke] | yes. if you | ||
AlexDaniel | oh, uh… | ||
[Coke] | whoops. | ||
junctions "auto-thread" - you can automatically invoke a sub multiple times if you pass a junction. | 20:41 | ||
moritz | m: sub double($x) { $x * 2 }; say double(1|2|10) | ||
camelia | rakudo-moar df4eb8: OUTPUT«any(2, 4, 20)» | ||
moritz | that's autothreading | ||
psch | m: sub double($x) { $x * 2 }; say double(1|2|10); say now - BEGIN now; | 20:43 | |
camelia | rakudo-moar df4eb8: OUTPUT«any(2, 4, 20)0.0192468» | ||
psch | m: sub double($x) { $x * 2 }; say double($_) for 1, 2, 10; say now - BEGIN now; | ||
camelia | rakudo-moar df4eb8: OUTPUT«24200.01977317» | ||
sortiz | .oO( Poor helpless dalek ) |
||
psch | ...that's probably noise | ||
m: sub double($x) { sleep 1; $x * 2 }; say double(1|2|10); say now - BEGIN now; | |||
camelia | rakudo-moar df4eb8: OUTPUT«any(2, 4, 20)3.0205481» | ||
psch shrugs | |||
moritz | data center maintenance over, hack survived | 20:44 | |
psch | i don't what does actual parallelism yet | ||
20:44
hotel_california joined
|
|||
[Coke] | .hyper, .race | 20:45 | |
20:45
hotel left
|
|||
skids | and start { } of course. | 20:46 | |
20:46
MasterDuke joined,
hankache left
|
|||
MasterDuke | is there any way to profile moar? | 20:53 | |
psch | MasterDuke: probably compiling with gcc -pg and gprof | 20:54 | |
MasterDuke: although i can't help but wonder why you'd want to profile moar and not rakudo | |||
(stackoverflow.com/questions/1794816/ is where i got gprof from, fwiw) | 20:56 | ||
20:56
hotel joined,
khw left
|
|||
psch | 'cause in the end moar is just a C program | 20:56 | |
20:56
hotel_california left
|
|||
MasterDuke | re some conversation in the channel earlier, i find the rakudo build annoyingly slow | 20:56 | |
psch | i don't think profiling moar will help your there | 20:57 | |
on the other hand, the profile output we have for rakudo probably is hard to utilize for CORE.setting compilation | |||
s/your/you/ | |||
MasterDuke | yeah, at least on my machine the slow part is: | 20:59 | |
[Coke] | (profile moar) ... perl6 --profile ? | ||
MasterDuke | "<path>/rakudo/install/bin/moar --libpath="/<path>/rakudo/install/share/nqp/lib" perl6.moarvm --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=CORE.setting.moarvm gen/moar/m-CORE.setting | ||
20:59
skids left
|
|||
[Coke] | Yes. that is always the slow part. | 21:00 | |
MasterDuke | i was hoping for a --profile flag to moar, but no such luck | ||
RabidGravy | yeah it's huge and can't be parallelised | ||
[Coke] | MasterDuke: no, the profile flag is for perl6, not moar. | ||
21:00
sufrostico left
|
|||
MasterDuke | yeah, i quite like --profile for perl6, been using it a bit | 21:01 | |
psch | i don't think it#s impossible to stuff --profile into the CORE.setting compilation | ||
timotimo | i often perf record -g my moar stuff | ||
psch | but as i said, that's probably not useful | ||
'cause it'll give you JSON that brings your browser to some 10+ GB ram | |||
ISTR there was a QT profile JSON parser around, but i've never used it | 21:02 | ||
MasterDuke | that's true, even a 2mb profile almost kills my firefox (or chrome) | ||
psch | *QT-based | ||
21:02
itcharlie left
|
|||
timotimo | aye. it doesn't use all of the data, though | 21:03 | |
like it won't show you a list of GC cycles | |||
dalek | c: ee9f0b2 | (Christopher Bottoms)++ | doc/Language/control.pod: Added samewith Based this on Brad Gilbert's example here: stackoverflow.com/a/37064186/215487. I recommend further elaboration by someone who knows more about it than I do. |
21:04 | |
c: 7fb512c | RabidGravy++ | doc/Language/control.pod: Merge pull request #509 from molecules/patch-2 Added samewith |
|||
21:05
pullphinger left
|
|||
MasterDuke | found it (github.com/tadzik/p6profiler-qt), going to give that a try later today | 21:06 | |
but how would i "stuff --profile into the CORE.setting compilation"? | |||
psch | "<path>/rakudo/install/bin/moar --libpath="/<path>/rakudo/install/share/nqp/lib" perl6.moarvm --setting=NULL --profile --ll-exception --optimize=3 --target=mbc --stagestats --output=CORE.setting.moarvm gen/moar/m-CORE.setting" | 21:07 | |
well, i'm not 100% that'll work | |||
but it's a start | |||
MasterDuke | ha, i'll see what happens | ||
psch | maybe we need bits of CORE to make --profile work, in that case you'd have to shout and hope someone is around to help... :) | ||
(interestingly, profiling CORE.setting like that was on my whiteboard for a few days, until earlier this day) | 21:08 | ||
(i tossed it 'cause i didn't think we anything to make it useful) | |||
moritz | oh, I think you need --profile-compile, not --profile | ||
because --profile profiles only runtime | |||
timotimo | that's right | ||
and --profile-filename=foobar.json will give you a slightly smalle rfile | |||
21:09
khw joined,
TEttinger joined
|
|||
tadzik | (but the qt profiler handles both) | 21:13 | |
timotimo | yup | 21:14 | |
MasterDuke | giving it a test whirl now, loads faster | ||
tadzik | it only does subset of the regular profiler features | ||
timotimo | it also doesn't heap dumps :) | 21:15 | |
tadzik | angular profiler does? | 21:17 | |
timotimo | no | 21:18 | |
we have a pure-perl program for heap dumps | |||
it's more of a query-focused interface | |||
21:25
sufrostico joined
21:27
hotel_california joined
21:28
dolmen joined,
hotel left
21:32
ptolemarch left
21:34
rurban joined
|
|||
lizmat | good night, #perl6! | 21:35 | |
psch | g'night lizmat++ o/ | ||
i just noticed that my .travis.xml change didn't matter, apparently :/ | 21:36 | ||
timotimo | gnite lizmat :) | ||
and good work on the weekly | |||
psch | well, the latest one that is | ||
the one that does "&& make test" instead of "; make test | |||
+" | |||
(i also thought i was in #p6dev :P) | |||
21:38
rurban1 joined,
rurban left
|
|||
psch | .ask moritz did something wrt ulimits change on hack? r-m builds get "Killed" during RESTRICTED.setting compilation for me since about half an hour ago | 21:44 | |
yoleaux | psch: I'll pass your message to moritz. | ||
geekosaur | or something's using all of ram+swap... | 21:45 | |
psch | KiB Mem: 20608392 total, 4580236 used, 16028156 free, 73572 buffers | 21:46 | |
22:00
rurban1 left
22:01
hotel joined
22:02
hotel_california left
22:03
mr-foobar left
22:04
mr-foobar joined
|
|||
tony-o | MadcapJake: have you been using modules.zef.pm ? | 22:05 | |
22:05
jjido left
22:06
jjido joined
22:07
jjido_ joined
22:08
jjido__ joined,
Sgeo joined
22:09
jjido___ joined,
hotel_california joined
22:10
jjido____ joined,
kid51 joined
22:11
jjid_____ joined,
hotel left,
jjido left,
jjido joined
22:12
jjido_ left,
jjido__ left,
jjido_ joined
22:13
jjido__ joined,
jjido___ left
22:14
jjido___ joined
22:15
jjido____ left,
jjido___ left,
jjid_____ left,
dolmen left
22:16
jjido left
22:17
jjido_ left
22:18
jjido__ left
22:31
spider-mario left
|
|||
psch | .tell moritz never mind, turns out i was just recursing infinitely | 22:32 | |
yoleaux | psch: I'll pass your message to moritz. | ||
22:35
lichtkind__ joined
22:37
hotel_california left,
hotel joined
22:39
lichtkind_ left
22:49
|2701 joined
22:52
firstdayonthejob left
22:56
huggable left,
hotel_california joined
22:57
hotel left
22:59
huggable joined
23:05
ZoffixWin left
|
|||
ugexe installs json parser; pulls in dependency on DBIish | 23:19 | ||
23:25
pierre_ joined
|
|||
RabidGravy | weird | 23:43 | |
toodles #perl6 | 23:44 | ||
timotimo | that means "goodbye" right? | ||
23:48
RabidGravy left
23:50
SVR4 joined
|
|||
skink | Anyone here on OS X atm? | 23:57 | |
or a BSD | |||
23:57
matiaslina joined
|
|||
SVR4 | I'm on NetBSD | 23:58 |