»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
naddiseo Is there a way to declare union types? 00:14
vendethiel naddiseo: no 00:20
naddiseo: you might be interested in timotimo's adt module
naddiseo Does subset Foo where (Int | Str); work ? 00:21
raiph m: subset Foo where (Int | Str)
camelia ( no output )
vendethiel naddiseo: yeah, but as a untagged union.
(and runtime-typechecked)
naddiseo K, I think that's what I want. 00:22
Now to figure out "P6opaque: no such attribute '$!signature'"
raydiak m: subset Foo of Str|Int; my Foo $foo; $foo = "foo"; say $foo; 00:36
camelia rakudo-moar 30edf7: OUTPUT«foo␤»
raydiak m: subset Foo of Str|Int; my Foo $foo; $foo = 123; say $foo;
camelia rakudo-moar 30edf7: OUTPUT«Type check failed in assignment to '$foo'; expected 'Foo' but got 'Int'␤ in block <unit> at /tmp/VLfMSGO_zs:1␤␤»
raydiak ^, ^^ which of those is broken? 00:37
raydiak thought we were of the strict typing persuasion, meaning maybe the "foo" shouldn't have worked, but ianae 00:41
raydiak rather hopes he is wrong about that 00:42
naddiseo m: enum A <Block>;subset B; 00:43
camelia rakudo-moar 30edf7: OUTPUT«===SORRY!===␤P6opaque: no such attribute '$!signature'␤»
naddiseo Yeah.. what's that about?
I know it's something to do with "Block" 00:44
but that error is very uninformative.
raydiak naddiseo: agreed it's not very helpful...sometimes --ll-exception can help give a clue with those unhelpful internal error messages 00:49
raiph m: enum A <Code> 00:50
camelia rakudo-moar 30edf7: OUTPUT«===SORRY!===␤P6opaque: no such attribute '$!signature'␤»
raiph m: enum A <Block>
camelia ( no output )
raiph m: enum A <Foobar>
camelia ( no output )
raiph m: enum A <Named> 00:52
camelia ( no output )
naddiseo Thanks for your help. I'm off now. 00:55
raiph m: enum A <Code> #123457 03:07
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123457
camelia rakudo-moar 30edf7: OUTPUT«===SORRY!===␤P6opaque: no such attribute '$!signature'␤»
JimmyZ m: enum A <Str> 03:55
camelia ( no output )
TimToady m: le 42 # French? 04:43
camelia rakudo-moar 30edf7: OUTPUT«===SORRY!=== Error while compiling /tmp/RUKgoSEL0M␤Undeclared routine:␤ le used at line 1. Did you mean 'lc'?␤␤»
TimToady don't get the error here either
m: == 42 # French?
camelia rakudo-moar 30edf7: OUTPUT«===SORRY!=== Error while compiling /tmp/FL5NlYBVcx␤Preceding context expects a term, but found infix == instead␤at /tmp/FL5NlYBVcx:1␤------> ==⏏ 42 # French?␤»
TimToady
.oO(c'est la life, universe, and everything)
04:44
(continuing a conversaton that started on #moarvm) 04:46
moritz timotimo: at least for the perl6.org domains, yes 06:21
mathw Does anyone know how NativeCall looks for libraries and more importantly how I can get it to look somewhere it's not currently looking? 06:26
moritz mathw: iirc you can pass absolute pathes to the "is natve" trait 06:32
mathw hmm I don't think this is a library path problem 06:40
moritz I looked at prices for signing of wildcard certs: www.sslshopper.com/best-ssl-wildca...icate.html 07:02
"ouch"
moritz maybe we should wait for letsencrypt.org/ 07:03
or offer self-signed certificates until then
moritz it's a bit perverse that firefox shows more security warnings for self-signed certificate than for an unencrypted connection 07:21
dalek : 9f8892a | FROGGS++ | misc/perl6advent-2014/schedule:
picked slot 20
08:06
FROGGS I hope that's okay (I didn't follow discussions here on channel for a few days) 08:07
JimmyZ masak: s/sekkind/second/ ? 08:12
blackbolt hi, can someone help me? "cannot look up attributes in a type object" here's code: pastebin.com/wsgmxy6D 08:27
brrt blackbolt - i'll try
blackbolt :) 08:29
brrt ok, first thing i spot is that in perl6, class instance variable are prefixed with a twigil 08:31
m: class Foo { has $.bar; }; my $f = Foo.new(:bar(4));
camelia ( no output )
brrt or
blackbolt ohhh, i rebuild code. there is "$.dataBase" 08:32
brrt m: class Foo { has $!bar; method gist { $!bar.gist } }; say Foo.new(:bar("Hai"))
camelia rakudo-moar 30edf7: OUTPUT«(Any)␤»
brrt (i would have somewhat expected that to work, hmm) 08:33
and... i'm a little foggy on initializers, but i think you want submethod BUILD rather than method new
or even sub new
blackbolt i want to create connection with DB 08:34
FROGGS m: class Foo { has $.bar; method gist { $!bar.gist } }; say Foo.new(:bar("Hai")) 08:41
camelia rakudo-moar 30edf7: OUTPUT«Hai␤»
FROGGS make the attribute public
FROGGS so in pastebin.com/wsgmxy6D line 3 should read 'has $.dataBase;' and line 12 should be '$!dataBase = ... 08:43
though, the variables in line 13 are undeclared
(at least in the pasted code, I guess they are declared and initialized before the class definition) 08:44
blackbolt ohhh thanks, that help FROGGS 08:45
FROGGS :o) 08:46
Woodi hallo today :) 08:50
q: can I clone from git repo in one directory to other dir ? or maybe copy will do ? 08:51
jnthn Woodi: Yes, just git clone /that/directory /where/you/want/it 08:52
Woodi ok. I can. but for backap I just pack&unpack repo directory ? or git is more sensitive ? 08:54
jnthn The .git directory contains the full repo history, so if that's in your backup then you've what you need. 08:57
Woodi I wonder about inodes and some such becouse I hear git is "filesystem"... but for now I just need somewhere to compile :) thanx jnthn++ 08:59
Woodi anyway, R* probably is a lot of work, could we cut something down ? 09:05
masak JimmyZ: fixed; thanks. 09:30
antenoon, #perl6
mathw hi #perl6 09:42
JimmyZ m: my num $x = 3.5; 09:48
camelia rakudo-moar 30edf7: OUTPUT«This type cannot unbox to a native number␤ in block <unit> at /tmp/i0Olun1iis:1␤␤»
JimmyZ m: my num $x = 3.5e0 # known?
camelia ( no output )
jnthn Yes, and correct. 09:49
rindolf mathw: hi, sup? 09:50
mathw I was trying to get NativeCall to talk to ncurses and I couldn't :( 09:52
jnthn: oh I ran into that one earlier, what's the reasoning? 09:53
jnthn 3.5 is a Rat
mathw oh
well no wonder it won't unbox
jnthn The error could do with mentioning the type in question, mind... 09:54
mathw yes it's a LTA error message 10:04
mathw Now I just need to memorise literal formats for things which can unbox to num and I'll be a happy man 10:05
except for the ncurses problem that is
However, ncurses is a problem by itself 10:06
mathw are there kinds of native library that NativeCall just can't handle yet? 10:19
I keep getting "cannot locate native library libncurses.so" but it's right there - however, it's a text file which says INPUT(libncurses.so.5 -ltinfo) in it 10:20
moritz mathw: Num literals always contain an e, like 1e0 10:21
jnthn mathw: That's a linker script, looks like, not an actual library. 10:21
mathw yeah
jnthn So no surprise trying to dynamically load it doesn't end well... 10:22
mathw I'm trying to find the real library...
jnthn It's named right there in the script?
libncurses.so.5 ?
mathw presumably gcc, if it saw that, would know what to do with it
yes it is
but it appears to be invisible
jnthn Oh. :S
mathw also
Cannot locate native library 'libncurses.so.5.so' in method postcircumfix:<( )> at lib/NativeCall.pm6:129 10:23
it's putting .so on the end for me
that's from an is native('libncurses.so.5') trait
Woodi mathw: there was same problems with ncurses before. maybe corect one is in /lib somewhere ? 10:27
mathw Woodi: hah! it is 10:28
silly
Woodi ppls use some tricks in modules to get corect one
mathw on the other hand, if NativeCall insists on looking for libncurses.so.5.so it's going to be perpetually disappointed regardless of the path searched 10:29
itz I put a sym link in on debian so I had a shared lib with .so on the end
(probably not a good solution)_
mathw it's a solution if you happen to be in a position to do that 10:30
it's not a good long-term solution though
Woodi but that linker "script" problem should be resolved by linker or some other _system_ tool... or NativeCalls works in not standard way ?
itz I assume NativeCall should be modified to support .so.\d as well as .so 10:31
jnthn Patches welcome ;)
Gotta go for a bit &
FROGGS itz: NativeCall does not attempt to locate a library, though it fiddles with its name... 10:32
mathw: is it possible that your NativeCall is outdated?
FROGGS mathw: there were patches in that area lately 10:32
itz oh so it just appends .so to libfoo?
FROGGS itz: yes
sort of 10:33
itz I should just look :)
FROGGS mathw: I am thinking of that commit: github.com/jnthn/zavolaj/commit/14...e17f94b6f7
itz: github.com/jnthn/zavolaj/blob/mast...l.pm6#L104
mathw FROGGS: I installed it this morning 10:35
yeah that's not going to help because <alpha> won't match a digit will it 10:36
moritz correct
mathw It doesn't mess with it until I put the .5 on the end
itz # TODO: more extension guessing 10:37
mathw yeah I'm just trying to think of what the rules should be
itz maybe glob a number and pick the highest>
Woodi hmm, NativeCall is not a part of Rakudo ? NC is probably very good candidate for standard module. actually I prefer to have NC in the "core" over object stuff and grammars ;) 10:38
itz hmmm I'm wondering whether this is actually a path rather than filename issue 10:41
mathw: are you a debianish 32/64 bit mixed library system? 10:42
mathw itz: yeah it's an Ubuntu box
Woodi: it's in Rakudo Star, that's about as core as it gets 10:43
itz locate libncurses.so shows one without a numerical suffix
FROGGS which is the linker script, no? 10:43
mathw itz: which is a linker script. NativeCall doesn't seem to be able to handle it
itz oh yeah ASCII text
FROGGS mathw: NativeCall just delegates to dlload or what it is called
mathw dlopen() 10:44
I assume
FROGGS yeah, that
mathw or whatever the VM uses - NativeCall just asks NQP to do it
I'll have to hack NativeCall to not mess with the name and see if that works
thent ry to figure out a suitable patch
FROGGS github.com/MoarVM/MoarVM/blob/mast...all.c#L578 10:45
Woodi mathw: R* is *such* official thing ? I didn't know that...
FROGGS Woodi: it is what we think official means 10:46
Woodi I like R* and also that official bit :) but I thinked it was: let's show the World we are here, we have something working and we are damn you forum-X NOT dead!" 10:49
mathw R* is what it's expected people will actually install and use 10:50
so you get a compiler and some useful modules
so ultimately it should be safe to assume people will have NativeCall 10:51
among other things
rather like Perl 5 programmers can assume that you've got Data::Dumper
Woodi but by removing some modules from R* we can promote our modules online repository :) make habits of using it in CPAN way 10:53
and "where is D::D" is FAQ #1 :)
mathw yes! Once I get NativeCall looking for the right library it works nicely 10:56
oh there'll be loads of modules that aren't in *
but I think NativeCall ought to be
this ncurses binding I'm working on probably oughtn't 10:57
mathw jnthn: I sent a pull request for a fix to NativeCall which detects ".so.<.digit>+$" and leaves it alone, to allow loading libfoo.so.43 etc. Working for me. 11:01
itz mathw++ 11:04
geekosaur that's not a general solution since the runtime library can look like libfoo.so.1.5.9 or etc. 11:06
mathw good point 11:07
easy enough to fix though 11:08
geekosaur and, as a general thing, it still bugs me a bit that NativeCall needs what the primary Linux distributions consider devel / link-time libraries even though they only need it for the .so symlink 11:09
but I have no idea how to fix that sanely
smls Maybe it should be possible to specify both the library name and version (as separate fields), and let it construct/guess the .so name based on both? 11:11
mathw I think there's a more general solution in here somewhere 11:12
that allows cross-platformness as well
but I don't have time to do that right now. Time to go wrestle with .NET again
The pull request is updated anyway, now handles .so.1.2.3.2.2.3.2 etc. 11:13
moritz mathw++ 11:14
rurban are there ever more than 3 subversions? 11:24
I think the limit is 3
Woodi but why dlopen not all that automatically ? 11:28
not do*
itz "Plain Threads are the GOTO of todays computing" 11:34
huf what's manual memory management then? :) 11:36
i guess threads fit a bit better since they're also used to muck up control flow :)
rurban I believe they prefer coros via fibers 11:38
Ulti manual memory management was the GOTO of last Tuesday
Woodi modularisation with routine calls replaced gotos ?
huf dont forget loops and if/else 11:39
Woodi dye 11:40
they don't have loops back there ??
huf well, they had at *least* if by the time we got the goto we know
Woodi so we need to lern to like shedulers in every not trivial case ? 11:43
JimmyZ top 11:46
Woodi defining <<constant lib = 'libncursesw.so.5';>> and using it in <<is native( lib );>> works for me. so probably '.5' suffix makes the trick, on Debian at least. 12:02
but I have /usr/lib/libncursesw.so which is a linker script... anyone know what should deal with that script ? do dload() should trigger execution of that script or script needs to be parsed to have file for dload() call ? 12:04
vendethiel wow, can't believe I didn't knew about ?& 12:14
masak it's mostly there for consistency with ~& and +&, IIUC.
it's not very useful.
unless you happen to be Dijkstra and hate short-circuiting. 12:15
vendethiel "¿¿ ¡¡ for the job. Ah, Unicode." You mean spanish, not Unicode :)
masak I guess. 12:16
vendethiel masak++ 12:16
moritz how would you describe a Channel in a short sentence? 12:17
vendethiel
.oO( use the stream word, I dare you )
12:18
rurban Channel: typed messages 12:24
moritz rurban: not in Perl 6 land 12:27
JimmyZ gist.github.com/zhuomingliang/26e3...6848908793 # help, I can't get it working 12:31
moritz JimmyZ: the problem is that $!x and $!y are natives, so you can't bind to them 12:33
JimmyZ: you have to say submethod BUILD(:$x, :$y) { $!x = $x; $!y = $y }
JimmyZ: or leave out submethod BUILD altogether; the default works fine. 12:34
fwiw, the profiler shows that this program spends nearlly all its time in Point constructor 12:37
(method new)
JimmyZ moritz: the default is a bit slower 12:38
moritz JimmyZ: well, better than not working at all :-) 12:44
JimmyZ moritz: yeah, I'm tryig profile some codes. 12:52
abraxxa tadzik: should i send the pull request for rakudobrew? 12:56
woolfy PerlJam: I will do a release when my head clears up, when I can learn again, and I will learn how to program in Perl 6, try to understand all the stuff related to a release... 12:57
woolfy PerlJam: and I am afraid that might not happen in my lifetime anymore... Sorry. 12:58
tadzik abraxxa: dind't you? :) I didn't have time to look through it properly yet 13:02
masak hugs woolfy
abraxxa tadzik: no, wanted to know before if you're ok with my code
woolfy masak++ 13:03
moritz also hugs woolfy
masak woolfy: I wish you get better, but regardless of that, you're a very important help to the Perl 6 community. 13:04
tadzik abraxxa: oh, just send it, if I'm not it'll be easier for me to point it out :)
masak woolfy: thank you.
woolfy: if you want, I could explain closures to you every Thursday. I think I would enjoy that. :P
woolfy oww... too many hugz and too many nice words, can't handle that. 13:05
masak fwiw, Perl 6 is a very nice language to grok closures in for the first time.
moritz woolfy: no need to handle it, just let it happen :-)
woolfy No idea what closures are. Even lizmat cannot explain them too me, and she really tried, several times.
masak resists the urge to explain right now 13:06
woolfy is happy with that resistance 13:07
masak .u 𝌛 13:08
yoleaux U+1D31B TETRAGRAM FOR RESISTANCE [So] (𝌛)
rurban woolfy: closures are just functions with lexical variables 13:11
lexical: compile-time private 13:12
woolfy rurban: thanks for the explanation, that's what lizmat told me repeatedly, and still, I don't get it, nor do I know what the significance is. 13:13
rurban: so leave it at that...
rurban nothing special. a normal function
masak rurban: that's what Wikipedia says too. I find it a most unhelpful explanation -- and wrong -- unless you understand closures already. 13:14
masak that "are just" part hides all the interesting bits, and the reason you'd want them in the first place. 13:14
rurban the big difference was in 1984 when all vars were dynamic
moritz woolfy: there's no significance, they are just handy sometimes :-)
woolfy eekkk... stop that, all go back to developing Perl 6, MoarVM, NQP, Parrot! Grrr! :-) 13:16
masak hehe
moritz happily does
masak aussi
moritz actually, doc writing
masak actually, sekkrit project
rurban just endless regression tests on various machines
moritz masak: to be revealed in the advent post on the 24th? :-) 13:17
when I have a Promise instance, how do I schedule code to be run when the promise is broken? 13:19
m: my $p = start { sleep 0.1; say "done 1" }; $p.in(10).then({ say 'done 2'}).result 13:22
camelia rakudo-moar 30edf7: OUTPUT«Invocant requires a type object, but an object instance was passed␤ in method in at src/gen/m-CORE.setting:20897␤ in block <unit> at /tmp/e9pFhStUFA:1␤␤»
masak moritz: no, I can't promise that. development's been slower than I initially thought.
arnsholt masak: I find that a common theme with technical Wikipedia articles. Clear and straightforward if you know it already, all but inscrutable if you don't 13:23
arnsholt Heck, some of them are inscrutable even if you do know it. The article on Hidden Markov Models for example, is complete gibberish (unless you're a statistican) 13:24
andreoss do cached functions share a cache between threads?
nige here is a draft advent post - perl6advent.wordpress.com/2014/12/2...83df5bcefa 13:25
nige feedback welcome 13:25
andreoss nige: 404 13:27
moritz nige: you could link to doc.perl6.org/type/Perl6%3A%3AMetam...od_methods when talking about .^methods 13:28
nige hmm - ok
moritz: looking
moritz andreoss: you need a wordpress account (and be logged in) to preview, I believe
andreoss: if you /msg me your email address, I'll send you an invitation 13:29
nige: nice post
nige moritz good suggestion - have added link 13:30
vendethiel do we have an extensive advent post about MAIN subroutines? I think I could write something on abusing it, along with subsets, for great good 13:34
I thought about writing a role-abusing post, but that's nowhere near mainstream reasonable
moritz vendethiel: perl6advent.wordpress.com/2010/12/0...main-subs/ 13:35
vendethiel: but that's four years ago; if you want to write about it again (and add some new facets), that's fine
vendethiel starts on writing a gist 13:38
I'll see if I can come up with more interesting stuff :) 13:39
Ha, but, what's the syntax wordpress accepts? bbcode?
moritz vendethiel: HTMLish 13:40
vendethiel doesn't look great. but hey, I can use <a> and stuff I guess
moritz vendethiel: basically HTML, but it'll insert <br/> for linebreaks, and <p> boundaries for newlines
vendethiel alright, thanks. 13:42
psch hi #perl6 \o 13:43
andreoss m: my int $x = 4; my int $y = 2; my int $r = $x / $y ; 13:50
camelia rakudo-moar 30edf7: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/57YkYcK2G6:1␤␤»
timotimo yeah, the / operator gives you a Rat
you want div instead
moritz m: my $p = Promise.new; $p.break; say $p.result 13:59
camelia rakudo-moar 30edf7: OUTPUT«False␤ in method result at src/gen/m-CORE.setting:20851␤ in block <unit> at /tmp/DPnqRJb6YW:1␤␤»
moritz m: my $p = Promise.new; $p.break; say $p.cause 14:00
camelia rakudo-moar 30edf7: OUTPUT«False␤␤Error while creating backtrace: Op 'backtrace' needs an exception object␤ in method new at src/gen/m-CORE.setting:12115␤ in method backtrace at src/gen/m-CORE.setting:12266␤ in code at src/gen/m-CORE.setting:12276␤ in method gist at…»
moritz bug, I'd say?
m: say so Promise 14:02
camelia rakudo-moar 30edf7: OUTPUT«Invocant requires an instance, but a type object was passed␤ in method Bool at src/gen/m-CORE.setting:20855␤ in sub prefix:<so> at src/gen/m-CORE.setting:4296␤ in block <unit> at /tmp/DzQ3LHQz2i:1␤␤»
moritz also a bug
m: say Vow 14:06
camelia rakudo-moar 30edf7: OUTPUT«===SORRY!=== Error while compiling /tmp/ahBo0I3hPu␤Undeclared name:␤ Vow used at line 1␤␤»
dalek c: 8000e26 | moritz++ | util/new-type.p6:
Add a util for generating a stub doc for a new type
14:12
c: 43b8eb8 | moritz++ | lib/Type/Promise.pod:
document Promise
kudo/nom: 413a2d5 | moritz++ | src/core/Promise.pm:
Make Promise.Bool a multi

otherwise "so Promise" dies
14:13
nige vendethiel I'd like to see another MAIN advent entry - always been partial to a Perl5 modulino - and MAIN is modulinos on steroids 14:14
www.drdobbs.com/scripts-as-modules/184416165 14:15
for a 'modulino' reference
moritz also MAIN now supports better usage messages when semantic comments/pod is attached
nige indeed 14:16
moritz that's something that has been mentioned before, but only in passing
nige a work colleague uses "Munner" - multiple runner - for lots of devops work - search.cpan.org/~micvu/App-Munner-0.../Munner.pm 14:18
a mash up of MAIN + Munner + Modulinos could be an interesting advent post idea ...
talking of $work bbl & 14:19
colomon ponders 14:20
colomon suspects modulinos may not be the best way of doing things in p6 14:21
vendethiel moritz: do we have an advent post on subsets? 14:23
colomon vendethiel: pretty sure there's one of those from the early days
moritz vendethiel: I'd have to search too (I don't know all the 120+ topics so far by heart :-) 14:24
vendethiel yeah, you knew the other one because you wrote it :)
moritz vendethiel: well, I (co-)wrote at least 20 advent posts so far, I'm pretty sure I don't remember all the topics I wrote about :-) 14:25
vendethiel moritz: yes, pod comments is a big part ofi t 14:26
moritz vendethiel: day 24 is still up for taking (unless TimToady++ wants to claim it) 14:28
vendethiel: or a 25th post-advent special :-)
andreoss how to evaluate a list eagerly, but not wait until calculation is ready? 14:29
moritz andreoss: my $promise = start { eager @list }; 14:30
andreoss: and when you want to wait, say 'await $promise'
andreoss i.e always evaluate ahead
moritz: it won't work with infinite lists 14:31
dalek kudo/nom: deb1e6d | timotimo++ | src/core/Attribute.pm:
a tiny speedup for auto-generated attribute accessors
moritz andreoss: don't wait for the promise then
andreoss: or you can simply iterate the list, that will evaluate it 14:32
timotimo m: say "an improvement of { 19718.16ms
camelia rakudo-moar 30edf7: OUTPUT«===SORRY!=== Error while compiling /tmp/oViOY2Qc2J␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/oViOY2Qc2J:1␤------> say "an improvement of { 19718.16⏏ms␤ expecting any of:␤ …»
timotimo ...
m: say "an improvement of { 18815.48 / 19718.16 } was had in one benchmark."
camelia rakudo-moar 30edf7: OUTPUT«an improvement of 0.9542209 was had in one benchmark.␤»
timotimo 4.5% is definitely not "nothing". nice. 14:32
the commit also reduces the amount of scalars generated 14:33
to 1/3rd in this benchmark's case 14:34
m: say "gc time went down to { 3374.84 / 3733.63 }" 14:35
camelia rakudo-moar 30edf7: OUTPUT«gc time went down to 0.9039032␤»
timotimo interesting 14:35
liztormato moritz: vendethiel i'll gladly give up my slot
vendethiel no no no
liztormato No? 14:37
I've already done 3
masak arnsholt: "it's easy if you know it" 14:40
arnsholt: it's a really hard problem to explain something to someone whose background/prior knowledge you don't have a handle on. 14:41
arnsholt: nLab is the same, for what it's worth. I can sort of see that what they say makes sense, and hangs together, and consistently uses a vocabulary and a set of techniques -- but it all hangs together in such a way that the only way to know something is to know everything. 14:42
arnsholt Yeah. AKA, teaching is hard 14:43
mathw yes, teaching is hard 14:44
PerlJam arnsholt: yeah, but nLab is an example of making it *harder* :)
masak despite this, I like nLab. 14:45
arnsholt has never heard about nLab
masak arnsholt: this is a good place to start. ncatlab.org/nlab/show/nPOV 14:48
arnsholt Right. Looks interesting 14:49
I think. Modulo not knowing anything about category theory, or much math beyond basic calculus \= 14:50
=)
masak category theory is basically a useful mapping language between disciplines of mathematics. 14:51
it's useful to computer scientists exactly to the extent computer science is mathematics. i.e. some branches of it more than others. 14:52
andreoss moritz: it defenetly evaluates iterations one by one paste.fedoraproject.org/161315/14190007/
mathw I've never managed to get my head around category theory 14:53
this was a slight impediment while attempting to get a PhD in a language research group
andreoss any time it starts a promise a dot printed, new line will be printed when promise is accessed
masak maybe I should hold a category theory seminar on IRC.
mathw I don't really think I need to know it anymore 14:54
I'm not designing type theories
Woodi woolfy: probably easiest way to start programming (or needeing it) is to become sysadmin on some *nix system :) eg. agregate some common things into script
PerlJam Woodi: I dunno ... there are many Perl people that starting programming for entirely different reasons and I'd say "become a sysadmin" would have been way too high a bar for many of them. 14:58
andreoss i don't know what this type of evaluation is called, "lazy" is not the right term i guess. 15:01
"lookahead evaluation"". is it a thing? 15:02
vendethiel not sure
Woodi PerlJam: I think administration is simpler then programming. and I can't agree that sysadmin job is way to high for anyone :) but I understand it in "traditional" Unix/BSD way - rc scripts or /etc/init.d, /etc thingies, /var thingies..
isBEKaml Woodi: that's because you know where to look and what those stuff entails. Can't generalize/extrapolate that for the rest... 15:04
Woodi isBEKaml: key thing is _need_ to do something or wanting it. sysadmin job is simpler then netadmin job which is simpler to expert programming and so on... 15:09
masak doesn't think woolfy needs to be a sysadmin ;)
hoelzro morning #perl6 15:10
PerlJam Woodi: Any, need is a prerequisite; but there are many more needs than just those relating to computing fields. Look at the human genome project, the need was for sequencing the genome; programming just became a way to get computers to tell you stuff about your lab results. 15:13
er, s/Any/Aye/
mathw the way to start programming is to have a problem you can solve by writing a program 15:14
OR to just be really interested
PerlJam people come to programming from many fields. Some of the ones I've bumped into came from "library science" (I'm still not quite sure what that is :), publishing, astronomy, bioinformatics, GIS, and nursing. None of those people would have ever learned to program if they had gone through "sysadmin" to get there :) 15:16
psch aughs at PerlJam tripping his balanced parens parser 15:17
mathw library science is about the remarkably difficult task of classifying, indexing and finding published information
PerlJam heck, I started programming "seriously" because I was playing with AutoCAD in the mid 1980s and wanted it to automatically tally materials costs for the things I designed.
mathw my boyfriend does a bit of coding just because he needs AutoCAD to do stuff sometimes 15:18
although his last thing was some kind of Excel VBA atrocity
I decided not to enquire too closely
don't want to risk actually having to see the code
PerlJam mathw: where is the scientific method employed in library science? 15:19
jnthn is squeemish enough about having to see VB, let alone VBA :) 15:19
isBEKaml PerlJam: autoLISP? :-)
PerlJam isBEKaml: yep :) 15:20
isBEKaml does AutoCAD still come with that LISP variant these days?
PerlJam I dunno I haven't used AutoCAD in years
vendethiel moritz: how do you write a piece of code in wordpress-html?
isBEKaml vendethiel: dunno about WP. Why not just use <pre></pre> for preformatted tags? 15:21
vendethiel well, because you don't get syntax hl
isBEKaml ah
mathw PerlJam: no idea. I didn't say it was well-named. 15:22
psch vendethiel: WP has [code] and <code>, the former can take a language="" attribute and adds a horizontal scrollbar. beware html entities with both of those 15:24
dylanwh My wife does cad -- yes, autolisp still exists. 15:25
PerlJam someone had some excellent syntax highlighting in one of the earlier advent entries this year. Find the entry and ask how he/she did it. :)
dylanwh "every other language/framework they've added is in some sort of deprecation cycle"
rurban Many people came from AutoLISP 15:26
dylanwh I've oftne used autolisp as a counter-point when people say elisp is horrible. Although I've only recently used elisp, I once had to make autolisp speak to a perl webapp and Lotus Notes 15:28
moritz vendethiel: I personally just write pod, and then use pod2html
no syntax hilighting, but that's OK, IMHO
dylanwh (for lotus notes, I implemented a bad 1-lisp so I didn't have to write business login in Lotus BASIC)
hoelzro I was bringing some old (2+ years) code up to speed, and I noticed that Str.encode returns a specific type depending on the encoding (ex. utf8) 15:29
I had a method declared as 'returns Buf', but apparently a utf8 isn't a Buf, so it always failed; what would be the proper returns declaration to deal with the results of a Str.encode 15:30
(without getting as specific as utf8, that is)
moritz m: say utf8 ~~ Blob
camelia rakudo-moar deb1e6: OUTPUT«True␤»
moritz hoelzro: Blob
hoelzro ah ha 15:31
thanks moritz
moritz m: say Buf ~~ Blob
camelia rakudo-moar deb1e6: OUTPUT«True␤»
hoelzro so utf8 isa Blob, and Blob does Buf? 15:31
Woodi hey, thes day "sysadmin job" is just doing stuff on your laptop :) and I still think that way is very simple way to some need for programming. never say that it is _only_ way, just good. 15:33
dalek volaj: fc4fdf6 | (Matthew Walton)++ | lib/NativeCall.pm6:
Detect libnames with .so.<.digit>$ and use them unchanged.

This allows things like "is native('libncurses.so.5')" which would previously attempt to load libncurses.so.5.so.
volaj: 64b11de | (Matthew Walton)++ | lib/NativeCall.pm6:
Extend recognition of libraries with .so.<digit>+ to .so(.<digit>+)+

This allows calling libraries named like libfoo.so.1.2.2
volaj: a0e685f | jnthn++ | lib/NativeCall.pm6:
Merge pull request #53 from mathw/master

Detect libnames with .so.<.digit>$ and use them unchanged.
jnthn hoelzro: No, Buf ~~ Blob. Buf is a mutable Blob, at least by spec. 15:34
hoelzro ahhhh
jnthn hoelzro: utf8 is a Blob 'cus if you can modify it, well, you can make it not be utf8 any more... :)
hoelzro always forgets the order of the arguments for ~~
it's RHS.ACCEPTS(LHS), right?
jnthn Right
Yeah, catches me out occasionally do, though the design makes sense. 15:35
s/do/too/
hoelzro $str ~~ $regex is a good mnemonic for me
Woodi actually, is .so.x(.\d)+$ a good thing ?
will work, no doubt :) 15:37
geekosaur will work until you hit something like old openssl (libssl.so.0.9.8f) 15:45
Ugator maybe only expand to .so if there is no .so? 15:47
vendethiel moritz: we have a very old post (2010) about smart matching which shows subset but not subset itself 15:51
mathw \o/ 15:53
Woodi: feel free to provide patches
This fixes my requirements for the immediate future 15:54
but I'm not convinced it's the right fix for all of the future
vendethiel mathw: I tried writing some tests for it, but it relies a lot on global $*ENV state
moritz vendethiel: then go for it 15:55
vendethiel moritz: I'm writing a MAIN advent right now :) 15:56
moritz vendethiel: do allocate a day in the 'perl6/mu' repo in file misc/perl6advent-2014/schedule 15:59
vendethiel moritz: only if I'm satisfied with what I wrote 16:00
moritz doc.perl6.org/type/Promise # feedback very welcome 16:01
vendethiel "my Int $a" <- typed variable? type-checked variable? 16:06
moritz typed variable
vendethiel is .IO.e still the prefered way to check if a file exists? I havn't been following up most of the latest IO refactorings... 16:09
.oO( if I take lizmat's post place on it, maybe I'll never know )
jnthn vendethiel: I don't recall that changing, though I've only been following so closely too 16:10
mathw I'm sure I saw that in someone's code recently 16:13
moritz vendethiel: yes, .IO.e is fine
mathw and it certainly works :)
liztormato vendethiel: IO.e will continue to work 16:14
vendethiel amazing :)
liztormato Refactoring is mostly under the hood 16:14
vendethiel Do we have an advent calendar about POD-ing a subroutine parameters and stuff? 16:15
okay, good to know
PerlJam vendethiel: We've got perl6advent.wordpress.com/2011/12/1...g-perl-6/, but things have changed since then. 16:16
moritz liztormato: if you have a bit of time, a review of doc.perl6.org/type/Promise would be great 16:17
hoelzro PerlJam: did I forget to update that post?
liztormato I was just looking at it 16:18
PerlJam hoelzro: not sure actually
moritz liztormato: I guess I should be more patient then :-) 16:18
hoelzro looks
I did
liztormato moritz: I understand method new is inherited. 16:19
But maybe it deserves a manual entry as well
At least stating the absence of named parameters
jnthn moritz: For .anyof, a cute example is Promise.anyof($something, Promise.in(2)); 16:20
moritz liztormato: he, I also considered that :-) 16:20
jnthn: will add, thanks
liztormato Now you get the impression you cant or shouldnt Promise.new
moritz liztormato: maybe just an example in the synopsis at the beginning would help 16:21
liztormato Yup.
[Coke] once I install a fresh perl6, I have to do a panda rebootstrap from the panda source dir? 16:22
moritz [Coke]: yes 16:23
[Coke]: or you can use rakudobrew to do it all for you
jnthn moritz: It's worth maybe being more clear somehow that Promise.in, start, anyof, and allof are Promise "factories" that keep/break the Promise, and it's only ones made by Promise.new where you grab the vow and keep/break them yourself. 16:24
[Coke] moritz: note to self. never. ever. ever. do this at work. 16:25
because I do it every six weeks or so, long enough for me to forget that it just dies.]
moritz [Coke]: and I thought it opened a porn site while your boss was watching, or something like that
:-)
jnthn: good point 16:26
[Coke] moritz: normal path: upgrade perl6, reinstall. realize I've broken every installed module. run panda. panda is also broken. go to panda source, rebuild... dies halfway through because I forgot to set the http_proxy; rerun; dies near the end because something doesn't support http_proxy; switch to non-work wifi network, realize that at some point, the rebootstrap failed, and it didn't reinstall all my modules. 16:28
moritz [Coke]: :(
[Coke] so, nothing quite as bad as your scenario, but very frustrating, and I do it constantly. then I remember why I waited so long to do the update! ;)
ok, I think I am recovered now. :P 16:29
dalek c: 347e492 | moritz++ | lib/Type/Promise.pod:
[Promise] incorporate feedback from jnthn++ and lizmat++

  * explain that you can only keep and break promises yourself if you created them with .new
  * timeout example for Promise.anyof
16:36
lizmat is finally back after a ~4 hour upgrade to Yosemite 16:37
dalek c: 79a7a83 | moritz++ | lib/Type/Promise.pod:
[Promise] Make it clear that method vow returns a Vow
16:38
moritz gist.github.com/moritz/b3819df0106dd7ff9b24 # draf for day 23 16:39
... now formatted 16:40
moritz *draft 16:40
lumimies moritz: s/time address/time to address/ 16:44
moritz lumimies: thanks 16:48
fixed
vendethiel seems like S26 link is broken 16:50
moritz eeks, that's not generated by the usual synopsis build process :( 16:51
moritz tries perl6-m --doc=HTML S26-documentation.pod > S26.html 16:52
itz wonders why they bothered with 0x213B 16:54
moritz design.perl6.org/S26.html restored
vendethiel moritz++
dalek ecs: d8509e2 | moritz++ | S (2 files):
Update perlcabal.org/syn/ links to design.perl6.org
16:55
dalek href="https://perl6.org:">perl6.org: fd08d90 | moritz++ | source/ (30 files):
Update perlcabal.org/syn/ links to design.perl6.org
16:57
: d1f7714 | moritz++ | / (11 files):
Update perlcabal.org/syn/ links to design.perl6.org
moritz lumimies: did you like the draft? 17:01
vendethiel moritz: where is in S26 the part about adding comments to parameters? 17:03
hoelzro vendethiel: look for method cast in S26 17:06
method cast(#|{ A spell } Spell $s)
you could also put the params on separate lines interspersed by #|/#=
vendethiel hoelzro++ #was looking for "argument" or "parameter"
hoelzro vendethiel: I just happen to know that document fairly well =P
lumimies moritz: Yeah, especially the web scale :) 17:07
hoelzro vendethiel: #|/#= should work for any declaration 17:08
vendethiel alright 17:12
vendethiel hoelzro: yeah, I know you made major changes to it =) 17:14
moritz lumimies: :-) great 17:23
woolfy masak, Woodi: I have been "sort of a sysadmin" for quite some years, and used Perl (4 & 5) for that... Just the capability of learning new stuff and remembering stuff is a problem. Don't get a severe burnout, it will change your life. 17:37
gtodd ++ on masak not getting burned out 17:39
well ++ everyone not getting burned out
TimToady has been planning to do the 24th 17:46
dalek : c576b49 | (Carl Masak)++ | misc/perl6advent-2014/schedule:
book TimToady++ on 24th
17:50
masak hey, I want it to happen ;) 17:50
flussence m: await Promise.in(1).then({ fail }) # um, what? :) 17:55
camelia rakudo-moar deb1e6: OUTPUT«===SORRY!===␤Could not find symbol '&Return'␤»
FROGGS flussence: `fail` tries to return from the surrounding routine 17:56
therefore it tries to locate a Return symbol
m: { fail }
camelia rakudo-moar deb1e6: OUTPUT«Unhandled exception: ␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13845 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:sink:29)␤…»
FROGGS m: my $foo = -> { fail }; $foo() 17:57
camelia rakudo-moar deb1e6: OUTPUT«Unhandled exception: ␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13845 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:sink:29)␤…»
moritz m: await Promise.in(1).then(sub { fail })
camelia rakudo-moar deb1e6: OUTPUT«===SORRY!===␤Too many positionals passed; expected 0 arguments but got 1␤»
FROGGS m: await Promise.in(1).then(sub ($) { fail })
camelia rakudo-moar deb1e6: OUTPUT«Unhandled exception: ␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13845 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:sink:29)␤…»
FROGGS m: await Promise.in(1).then({ .break }) 17:58
camelia rakudo-moar deb1e6: OUTPUT«===SORRY!===␤Access denied to keep/break this Promise; already vowed␤»
FROGGS eww :o)
moritz FROGGS: works as designed 17:59
jnthn you break it in then by throwing :) 18:00
flussence after reading the code, I'm guessing the first error is referring to X::ControlFlow::Return...
it's a LTA error message (imho), and I think I've seen it happen before around faily code 18:02
jnthn I'm not really sure what the semantics of a Promise.start evaluating to a Failure should be
dalek : c19d955 | lizmat++ | misc/perl6advent-2014/schedule:
Free up day #22 for ++vendethiel
18:03
jnthn Does it break the Promise, or does it keep the Promise but the result is a Failure?
The latter keeps it non-fatal
lizmat vendethiel: there is no escape now
:-)
flussence I'm not really sure what I'm *doing*, but I bet other people are gonna try the same thing somewhere down the line :) 18:03
TimToady lizmat: oops, he escaped 18:04
lizmat oh dear :-(
flussence anyway I thought the whole point of Failure is that it's a non-fatal, lazy exception that you can pass around...
second seems right to me
FROGGS moritz: yes, I thought so... 18:05
the 'eww' was more like: 'I should finally take a look at Promises'
jnthn flussence: That's my gut feeling too.
TimToady is it trying to pass it through a type constraint that doesn't allow for Failure? 18:06
jnthn Dunno 18:09
m: say Promise.start(sub ($) { fail "foo" }).result.perl 18:10
camelia rakudo-moar deb1e6: OUTPUT«===SORRY!===␤Too few positionals passed; expected 1 argument but got 0␤»
jnthn huh...
m: say Promise.start(sub ($) { fail "foo" }) 18:11
camelia rakudo-moar deb1e6: OUTPUT«Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable), status => PromiseStatus::Broken)␤»
jnthn will have to take a closer look...
Though I should probably be packing at the moment... :) 18:12
tony-o anyone using perl6+jvm on freebsd? 18:13
lizmat jnthn: I'll have a look at that Promise issue 18:35
go pack! have fun! don't get (too) sick!
moritz method send(Channel:D: \item) { 18:58
X::Channel::SendOnClosed.new.throw if $!closed;
nqp::push($!queue, nqp::decont(item));
}
isn't that prone to race conditions?
vendethiel probably is 18:59
flussence today I fixed a failing test in my code, but I still don't know *why* this works, and that's really bothering me... github.com/flussence/Test-ClientSe...257cea759b 19:01
lizmat moritz: hopefully the locking happens in the nqp::push on the $!queue ? 19:03
alternately, nqp::push in inherently lock free ?
jnthn lizmat: It's not that the op is 19:04
moritz lizmat: yes, but somebody could close the queue between the $!closed check and nqp::push, no?
jnthn lizmat: It's that $!queue has the REPR BlockingConcQueue
lizmat moritz: in which case you would get a different (or no) error
jnthn moritz: Yes, there's a race there
jnthn And you'd get no error, just a lost value. 19:05
bartolin tony-o: I'm running daily builds+spectests of rakudo.jvm on freebsd. but I don't do anything else with those.
jnthn It's a little tricky to fix in combination with the queue providing backpreassure, which it's going to need to. 19:06
moritz I'll open an issue
tony-o bartolin: i'm getting an error trying to build tag 2014.06 on freebsd with make: don't know how to make j-all 19:09
configures fine, make fails with that error, any ideas? 19:10
moritz tony-o: did you configure with --backends=jvm?
tony-o yes
tony-o i built with --gen-nqp --gen-parrot --gen-moar --backends=moar,jvm,parrot 19:11
i haven't tried building with *just* jvm
moritz tony-o: does 'make m-all' and 'make p-all' work?
tony-o i'll give those a shot
bartolin tony-o: hmm, my daily builds started in october only.
tony-o: I'd try that first (only building with --backends=jvm) 19:12
tony-o bartolin: maybe i'll bump it up to october if m-all and p-all works
moritz tony-o: but why the interest in such an old version?
tony-o moritz: generating module graphs and all of that jazz
moritz tony-o: btw --backends=all exists
tony-o ty 19:13
bartolin tony-o: my daily builds are quite stable
tony-o bartolin: did you use pkg or ports to install jdk ? 19:14
bartolin tony-o: mom, have to look that up
tony-o mom?
moritz "moment" 19:15
tony-o moritz: gonna have to try it when i get home, accidentally disabled ssh 19:16
moritz tony-o: :-)
tony-o: the other day I ran an "ifdown br0" to disable the bridge interface, not knowing that it acted as the primary interface of the host 19:17
tony-o i know FROGGS has a matrix but i'm building out a huge array of OSes + perl6s to test all modules and create some graphs
bartolin tony-o: obiously I installed jdk with pkg ("pkg install openjdk")
tony-o moritz: lol, i've done that before too :)
moritz tony-o: and then had to do a trip to the data center to recover 19:18
tony-o mine was a ticket cause the server was in quebec
lizmat dinner& 19:18
tony-o moritz: i'm working on something like this (this is a mockup) darcsys.com/smoke/module_build.html 19:19
moritz tony-o: nice 19:20
tony-o like npm for perl6
but with all the cool stuff metacpan has
bartolin moritz: if I fiddle with network or firewall configuration I sometimes schedule a (network-restart|firewall-reset|reboot) via at or cron -- say half an hour later. maybe the biggest problem is to re-schedule it if everything works fine 19:24
El_Che bartolin, moritz : I've found that at does a good job for that kind of thing 19:27
at +5m restore_something
moritz El_Che: yes, I think that's a good idea
El_Che of course, if you have console access, it's not as important 19:28
moritz though on the virtual systems, I can just use virt-manager to open a terminal 19:28
El_Che there you go :)
TimToady oh for the good old days when a computer was just a computer... :) 19:29
moritz jnthn, lizmat: is Channel.poll the non-blocking version of Channel.receive?
jnthn moritz: Yes; returns Nil if there's nothing to receive, iirc 19:30
moritz jnthn: that seems to match my reading of the source code.
itz where does readdir live? if it has a home 19:34
moritz itz: there's a dir() function
m: say dir()
camelia rakudo-moar deb1e6: OUTPUT«"/home/camelia/rakudo-inst-2".IO "/home/camelia/ugexe-was-here".IO "/home/camelia/evalbot".IO "/home/camelia/test".IO "/home/camelia/.viminfo".IO "/home/camelia/rakudo-inst-1".IO "/home/camelia/.bashrc".IO "/home/camelia/.ssh".IO "/home/camelia/std".IO "/h…»
moritz those are IO::Path objects
itz ah ty 19:35
FROGGS tony-o: what if you'd use the testers.perl6.org reports from its database? 19:51
bartolin tony-o: I was able to build rakudo.jvm 2014.06 on FreeBSD 10.1 (using OpenJDK 1.7.0_71 installed via pkg). my build command was 'perl Configure.pl --gen-moar --backends=jvm; make' 19:54
FROGGS tony-o: you can then still generate reports for all compilers and backends using panda 19:55
hoelzro does anyone know off hand where the "$^VAR" behavior is documented, particularly the part about $^ being ordered, and that order determining which parameter they represent? 19:57
bartolin FROGGS: could you point me to some instructions how to provide data for testers.perl6.org?
FROGGS bartolin: PANDA_SUBMIT_TESTREPORTS=1 panda install Foo 19:58
and 19:59
bartolin: PANDA_SUBMIT_TESTREPORTS=1 panda smoke
though, smoke will just attempt to install everything
it is not what one would expect by a smoke option 20:00
bartolin FROGGS: great. I hope I find some time to extend my daily test runs to smoke panda as well 20:01
itz everything in the ecosystem?
FROGGS that'd be awesome :o)
itz: yes
raydiak hoelzro: design.perl6.org/S06.html#Placeholder_variables 20:02
hoelzro thanks raydiak
raydiak yw
raydiak oh nice...design.perl6.org is more pleasant to read at than perlcabal.org/syn 20:03
moritz raydiak: you mean the URL? or the layout?
raydiak s/ at/ 20:04
FROGGS [Coke]: we've got a problem: github.com/coke/rakudo-star-daily/...figure.log
raydiak moritz: the url
moritz: does it want a new layout?
moritz raydiak: it wants, yes 20:07
moritz raydiak: something more p6ish :-) 20:07
El_Che "p6ish" :) 20:08
raydiak moritz: I can let that percolate in my head...feel free to spam out any more specific ideas you may have and I'll throw them in the pressure cooker too :) 20:10
El_Che are there any p6 books planned now it's closer to christmas?
the O'reilly one would be somewhat outdated :)
moritz raydiak: well, it has much more text content than www.perl6.org, so it shouldn't be as generous with the margins 20:11
raydiak moritz: indeed, the different structure of it will make it turn out differently than docs in several ways (esp the nav too)
moritz raydiak: and that also makes it more important that the body text remains black on white
raydiak sure 20:12
hoelzro moritz: re: your channel race condition ticket, I found similar behavior in IO.pm
raydiak oh, anyone else who has input to give is welcome too, of course...just don't tell me to write the whole thing as a webgl js app or something :)
hoelzro I was hoping to clean some of that up, but $work&$life 20:13
moritz raydiak: being able to read it with JS disabled is also a hard requirement from me :-)
raydiak moritz: we're on the same page there :)
raydiak has never in his past life as a professional software engineer and web developer, broken down and used js for things like layout or text rendering or other such fragile nonsense 20:15
moritz raydiak++
dalek rl6-roast-data: 00088f9 | coke++ | / (5 files):
today (automated commit)
20:16
c: f7ed0e0 | moritz++ | lib/Type/Channel.pod:
document class Channel
20:19
raydiak moritz: no promises on exact timing, things have been a bit rough here for me lately, and the impending holidays...but things like this which are fairly easy for me and make P6 look better generally go to the top of my list instead of the bottom :) 20:20
moritz raydiak: that's great, and no pressure :-) 20:20
raydiak: the mechanism that generates the synopsis HTML is a bit arcane, but I'll do my best in assisting with patching it 20:21
synopsebot: give me link to S02, will you? 20:22
or S02/Literals/
FROGGS S02:1
synopsebot Link: perlcabal.org/syn/S02.html#line_1
moritz who runs it? and can change the link to design.perl6.org?
FROGGS S02#Literals
tadzik does
dalek p/parrot-rpa: 25963c3 | rurban++ | src/vm/parrot/ (2 files):
nqp.ops: fix parrot compiler warnings, enable --debugging

BUFFER_IS_EMPTY was undeclared pmc_sub.h is from parrot fix const casts for comp_sc, nqp_nfa_run, IO_VTABLE* fix wrong free(fates) => mem_sys_free(fates)
moritz oh, it's on github 20:23
then I can too :-)
github.com/tadzik/synopsebot/pull/4 opened 20:25
raydiak moritz: thanks, that'll be helpful to stop me from nerd-sniping myself over a tangled knot of sed or some other creativity-sapping obstacle 20:27
raydiak notices perl6now.com
whats that about?
moritz no idea, but it looks dangerous :-) 20:28
moritz or like a mis-configured webserver 20:29
raydiak moritz: doesn't it? anyway, while my head is in this space, do you think the fixed-width on the docs site is a mistake?
moritz raydiak: fixed width? what do you mean? 20:30
raydiak moritz: the content area is fixed to like 800 wide or so
moritz raydiak: doesn't look like it for me 20:31
raydiak: if I resize my browser window, it follows
raydiak: we're talking about doc.perl6.org, rightß
raydiak moritz: not if you go wide enough
moritz: yes
moritz s/ß/?/
ah, a max-width
raydiak yep 20:32
moritz that seems reasonable to me
because if lines becomes too long, it's hard to find the correct line
raydiak it's something I do when I'm worried about the spacey broken look of small text in big wide boxes
moritz when the eye scans from the right end of the line to left of the next line, and loses the correct vertical position
raydiak ah, that's what it is...some of these things I understand in a little more instinctual way...just look at it and feel "ugh" 20:33
anyway, I thought maybe that was part of what you were saying you don't want for design.perl6.org, which makes sense because there aren't any short parts to speak of :) 20:34
but thought I'd ask if it's offensive on the docs site too while I'm at it
moritz raydiak: no, what I meant is perl6.org/ 20:35
moritz raydiak: that one has lots of whitespace everywhere, and probably too much for the design notes 20:35
moritz (though maybe I'm misjudging that) 20:35
raydiak moritz: oic.../agree
nah really it's good for what perl6.org is (a collection of small parts) but I totally agree that it wouldn't be quite right for the design docs 20:37
moritz raydiak: then we're in violent agreement :-)
moritz wonders why the new types, Channel and Promise, won't show up in the search on doc.perl6.org 20:39
raydiak has noticed at different times many things seem to be missed by the search
esp keywords like the loops and so forth 20:40
moritz: I see Promise and Channel, think you have a cache issue
moritz they seem to be misisn in js/search.js 20:41
*missing
the good part is that it means I won't have to debug js
the bad part is that it means I'll have to debug htmlify.p6 :/
raydiak moritz: you mean for the keywords? I do see channel and promise in the search here 20:43
moritz raydiak: I mean in the search box in the top right (needs JS) 20:44
raydiak yes, the search box does show Promise and Channel for me
so either you have an old cached version loaded and it's not broken, or it is broken and I'm the one with the old cached version 20:45
moritz moritz@pat:~/p6/doc>grep Channel html/js/search.js 20:46
{ label: "Type: Channel", value: "Channel", url: "/type/Channel" },
I could have sworn it wasn't there just a moment ago
oh well
tony-o FROGGS: is testers.perl6.org down?
moritz raydiak: a ctrl + shift + r fixed it, thanks 20:47
FROGGS tony-o: not for me
raydiak moritz: yw...sometimes even that doesn't fix it for me, and I have to directly navigate to the js file and reload that
moritz raydiak: I think you just saved a ton of fruitless debugging time :-) 20:48
jnthn FROGGS, tony-o: Works for me here too
FROGGS tony-o: though very slow, because it still does too much dynamicly
raydiak \o/ /me did something genuinely useful today :)
jnthn FROGGS: testers.perl6.org/authors is "not found", though
tony-o there we go
moritz raydiak: one thing you could try it open a private tab/window (ctrl+shift+p) and load the site there
FROGGS jnthn: that's NYI :D
jnthn Oh, then I can assume I'm an awesome author until it is :P 20:49
tony-o lol
FROGGS *g*
I bet
moritz jnthn, lizmat: doc.perl6.org/type/Channel another thing to review when you have free time
raydiak moritz: oh nice one, never thought to use that for much besides multiple simultaneous logins to the same site
moritz raydiak: many people aren't even aware of the multiple logins use case 20:50
jnthn moritz: "...a thread-safe queue that helps you to a series of objects..." 20:51
I that's missing a verb... :)
moritz++ # working on concurrency docs 20:52
raydiak moritz: it blows peoples minds when I show them and they realize how many accounts they can have logged in to farmville at the same time :P
dalek c: 60a9e31 | moritz++ | lib/Type/Channel.pod:
Channel: missing verb, jnthn++
moritz raydiak: :-)
raydiak afk for a while...thanks for the chat moritz, makes my day a little better when I connect with a human being for a moment :) 20:54
moritz raydiak: have a fun afk time :-) 20:55
[Coke] FROGGS: that's from september 26th. 20:58
there is still a perl6 eval server running on host07 20:59
er, host07
ER HOST08! 21:00
FROGGS ohh, my bad
[Coke] FROGGS: looks like I dropped that on the floor when I stopped running things on host08. 21:01
I will see about getting that running again on hack.
masak 'night, #perl6 21:36
moritz support.ntp.org/bin/view/Main/Secur...tl_putdata I'm glad I haven't installed ntp on the new machines yet 21:57
dalek c: 35f76f6 | lizmat++ | lib/Type/Channel.pod:
Some text tweaks, hope moritz++ is ok with them
22:10
geekosaur aaaand support.ntp.org is either not reachable from here or smashed flat...
lizmat smashed flat, I would presume 22:12
moritz geekosaur: buffer overflow in the ntp server, might allow remote code execution through crafted NTP packets 22:14
lizmat++ # doc rewording
geekosaur so I gathered from the url (I know far too much about ntp these days...)
moritz -> sleep 22:16
lizmat gnight, moritz 22:17
tony-o moritz: bartolin: appears the problem is that the JVM configure runs out of memory but it continues to configure for everything else (and i was sitting here watching text fly by) 23:39
TimToady you should use make for that so it'll track the dependencies :P 23:53
Those who do not understand make are doomed to reinvent it--poorly. Then again, those who do understand make don't seem to do it any better... 23:58