»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
timotimo | the ? is only there to give a syntax error, yeah? | 00:03 | |
.o( we also have that slang that allows ? and ! at the end of method names ) | |||
dalek | kudo/nom: ec91da3 | TimToady++ | src/Perl6/World.nqp: explain absence of "else" clauses |
00:04 | |
TimToady | timotimo: yes, but it seems like it should give a good message if you're not in that culture but put ? accidentally | 00:05 | |
these error messages are triggered only when the current language decides it's going to give up | 00:07 | ||
00:10
LLamaRider joined
|
|||
timotimo | ah, yes | 00:12 | |
00:14
espadrine left
|
|||
TimToady | m: if 1.so? {...} | 00:15 | |
camelia | rakudo-moar 4ed69d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8lW1_Tzj4wMissing blockat /tmp/8lW1_Tzj4w:1------> 3if 1.so7⏏5? {...} expecting any of: block or pointy block infix infix stopper» | ||
TimToady | also sorts it to the front, which is arguably better | ||
00:16
dayangkun left
00:20
zcm left
00:26
dolmen left
00:29
raiph joined
00:30
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:32
bjz joined
00:35
LLamaRider left
|
|||
timotimo | aye | 00:39 | |
00:43
bjz left
00:44
Zoffix joined
00:46
laouji joined
00:54
risou is now known as risou_awy,
risou_awy is now known as risou
01:01
kurahaupo1 joined
01:02
tinyblak joined
01:03
telex left,
aborazmeh left
01:04
telex joined
01:11
bjz joined
|
|||
timotimo | m: use NativeCall; class SDL_Window is repr('CPointer') { } | 01:20 | |
camelia | ( no output ) | ||
timotimo | nqp-m: my @test; say(nqp::definite(@test)) | 01:21 | |
camelia | nqp-moarvm: OUTPUT«No registered operation handler for 'definite' at gen/moar/stage2/QAST.nqp:1544 (/home/camelia/rakudo-inst-1/share/nqp/lib/QAST.moarvm:compile_op:64) from gen/moar/stage2/QAST.nqp:5338 (/home/camelia/rakudo-inst-1/share/nqp/lib/QAST.moarvm:compile_node:2…» | ||
timotimo | nqp-m: my @test; say(nqp::istrue(@test)) | ||
camelia | nqp-moarvm: OUTPUT«0» | ||
timotimo | nqp-m: my @test; say(@test =:= NQPMu) | ||
camelia | nqp-moarvm: OUTPUT«0» | ||
timotimo | nqp's limited introspection capabilities ... | ||
nqp-m: my @test; say(@test.^name) | |||
camelia | nqp-moarvm: OUTPUT«Confused at line 2, near "say(@test." at gen/moar/stage2/NQPHLL.nqp:516 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:panic:105) from gen/moar/stage2/NQP.nqp:921 (/home/camelia/rakudo-inst-1/share/nqp/lib/nqp.moarvm:comp_unit:872) from gen/…» | ||
timotimo | nqp-m: my @test; say(@test.HOW.name) | ||
camelia | nqp-moarvm: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 at gen/moar/stage2/nqpmo.nqp:1201 (/home/camelia/rakudo-inst-1/share/nqp/lib/nqpmo.moarvm:name:0) from /tmp/Ixl_wRCvTZ:1 (<ephemeral file>:<mainline>:30) from gen/moar/stage2/NQPHLL.nqp:1289 …» | ||
timotimo | nqp-m: my @test; say(@test.HOW.name(@test)) | ||
camelia | nqp-moarvm: OUTPUT«NQPArray» | ||
timotimo | something inside SDL2::Raw is causing "Cannot unbox a type object" inside nqp/lib/Perl6/Metamodel.moarvm:compose_repr | 01:22 | |
that's the line with nqp::composetype($obj, nqp::hash('attribute', @repr_info)); | |||
i'm expecting that error has to refer to @repr_info? | 01:23 | ||
ah, that comes from trying to figure out if something's supposed to be inlined | 01:31 | ||
um ... can you use at_key_o and at_key_int on the same object? | 01:32 | ||
hm, perhaps | |||
good, i have a fix inside moarvm | 01:33 | ||
01:34
jepeway left
01:35
raiph left
|
|||
tony-o_ | timotimo: how far are you into whatever you're using HTTP::Server::Async for? | 01:35 | |
01:36
jepeway joined
|
|||
timotimo | not terribly far; still at the same stage i've shown you before | 01:36 | |
at least ... i think i showed you | |||
tony-o_ | okay, yea i remember you showing me | ||
i have an HTTP::Server::Threaded in the works that seems like it might be better at the moment. better meaning that it either responds or moar segfaults which means you can slap overwatch on it and lose only 1 or 2 requests instead of all subsequent requests | 01:37 | ||
H:S:A sometimes just hangs, which leaves the socket open but unresponsive which means it loses subsequent requests somewhere | 01:38 | ||
timotimo | d'oh | ||
but stability has improved a whole lot? | |||
tony-o_ | it is more stable only because it can be reliably restarted when it stops responding | 01:40 | |
timotimo | hm | 01:41 | |
i mean stability for HSA | |||
tony-o_ | i'll upload it in an hour or two when i finish writing the response class | ||
oh, it seems more stable but still has the side effects | 01:42 | ||
timotimo | neato. thanks for your work as always | ||
tony-o_ | it takes longer to crash with concurrency of 2 requests, it seems to not crash at all with only 1 request at once | 01:43 | |
timotimo | can you quantify "takes longer"? | 01:44 | |
tony-o_ | serves up 1200 or so requests instead of 800-900 on my machine | 01:53 | |
timotimo | hm | 01:55 | |
that's not that much better :( | |||
01:55
|Tux| left
|
|||
tony-o_ | it's 50% butter ;) | 01:55 | |
s/u/e/ | |||
timotimo | hmm | ||
i had hoped for more like a 10x improvement | |||
01:56
|Tux| joined
|
|||
tony-o_ | better than a sharp stick in the eye | 01:57 | |
have you used siege? | |||
timotimo | no | 01:58 | |
is that a load testing tool for web servers? | |||
tony-o_ | if you run the 'ab.pl6' that is in the repo and then do 'siege -c 2 127.0.0.1:8080' you can watch it fail, it's somewhat consistent at the point where it bonks | ||
yes ^ similar to apache bench | |||
timotimo | we still have missing "unit" keywords in HSA | 02:01 | |
have you put those in locally yet? | |||
tony-o_ | i'm not sure what that means | ||
timotimo | m: class Foo; has $.test; | 02:02 | |
camelia | rakudo-moar ec91da: OUTPUT«Saw 1 occurrence of deprecated code.Semicolon form of 'class' without 'unit' seen at: /tmp/oxF3koTC1f, line 1Deprecated since v2015.4, will be removed with release v2015.9!Please use 'unit class' instead.» | ||
timotimo | m: unit class Foo; has $.test; | ||
camelia | ( no output ) | ||
timotimo | siege reports we only take 0.01s or 0.00s for each request | ||
sometimes it goes up to 0.04, that must be delay from GC | |||
tony-o_ | m: class Foo { has $.test; } | ||
camelia | ( no output ) | ||
timotimo | but somehow it still takes quite long to count up | ||
tony-o_ | i think i have curlied classes in HSA | ||
timotimo | why is that? | ||
tony-o_ | siege delays between requests | ||
timotimo | OK | 02:03 | |
tony-o_ | -b will make it not pause | ||
timotimo | i'm at 600 now | 02:04 | |
so 50% done, likely | |||
i'd like to see a --profile of that :) | 02:05 | ||
but if it does crash, it won't generate a profile, iirc | |||
how does it vary if you increase the number of concurrent requests? fails much earlier? | |||
at what point does the HST crash, btw? | 02:06 | ||
i'm now at 2500 and it's still going | 02:12 | ||
i may really need to use -b | |||
interesting, with -b i get "connection reset by peer" in siege after 941 requests | 02:13 | ||
tony-o_ | did you do an '-c 2' ? | 02:14 | |
timotimo | ... pretty much exactly then | ||
yes, that's -c 2 | |||
02:14
isBEKaml left
|
|||
timotimo | huh, with -c 4 it explodes at 941 as well | 02:14 | |
what is this | |||
same with -c 10 ?!? | 02:15 | ||
this is most strange | |||
tony-o_ | it's always a specific number for me too but it happens at different places on different machines for me | ||
surface pro 3 happens earlier than my imac | |||
happens differently than my macbookpro etc | |||
timotimo | strange | ||
tony-o_ | it also behaves differently on the jvm than it does in moar | 02:16 | |
timotimo | with --profile it segfaults :S | ||
ah! | |||
the profiler can't handle multi-threaded apps anyway | |||
02:18
kurahaupo1 left
|
|||
timotimo | needless to say there's still something to be gained in the stability area | 02:18 | |
as jnthn has been very eager to point out over and over again to people like me who were convinced things were supposed to be peachy already :) | 02:19 | ||
tony-o_ | :-) | ||
well, i think HST might be more stable short term at least, i haven't played around too much with it yet so i can't answer as to how it behaves over time. i did notice that it either craps the bed or serves requests which makes it usable with something like inode, supervisor, or overwatch if you're into the perl6 utilities | 02:20 | ||
02:22
risou is now known as risou_awy,
risou_awy is now known as risou,
risou is now known as risou_awy
02:23
risou_awy is now known as risou,
risou is now known as risou_awy
02:24
risou_awy is now known as risou,
risou is now known as risou_awy
|
|||
raydiak | o/ | 02:24 | |
02:24
risou_awy is now known as risou,
risou is now known as risou_awy
|
|||
TimToady | but HST takes such pretty pictures... :) | 02:24 | |
02:25
risou_awy is now known as risou
|
|||
raydiak | is there a way to get something like $*W.dissect_longname(), from perl 6 code at runtime? working on panda stuff, need to parse :auth<...> and :ver<...> | 02:28 | |
02:30
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
|
|||
raydiak | eh, nvm, was looking at the wrong pieces of things, think I found what I need | 02:32 | |
tony-o_ | what was the reasoning for the unit class change? | 02:34 | |
i like it, i'm curious though | |||
timotimo | we thought people could get confused | 02:38 | |
and error messages that result from the user expecting "class Foo;" to be a stub declaration were not helpful at all | |||
tony-o_ | cool, i've never liked the empty 'class R;', it looks strange | 02:41 | |
timotimo | i'm glad :) | ||
BBIAB | |||
02:47
raiph joined
02:56
noganex_ joined
02:59
noganex left
03:13
ssqq joined
|
|||
timotimo | i was wondering if testers.perl6.org should link from the "compiler version" to github for the given commit | 03:18 | |
03:24
ssqq left
|
|||
dalek | kudo/cpp: 718e6fe | hoelzro++ | t/04-nativecall/13-cpp-mangling.cpp: Fix declaration of C++ tests on non-Windows |
03:35 | |
kudo/cpp: 61e9c01 | hoelzro++ | t/04-nativecall/13-cpp-mangling.t: Fix pointer mangling test |
|||
kudo/cpp: 0297e65 | hoelzro++ | t/04-nativecall/13-cpp-mangling. (2 files): Add tests for calling functions using const char * A lot of const char * functions should simply take a string, so Str is cpp-const should do the trick |
|||
kudo/cpp: 8081acb | hoelzro++ | lib/NativeCall/Compiler/GNU.pm: Make cpp-const work with Str parameters on GNU ABI It makes them encode to const char * |
|||
kudo/cpp: 2211ebb | hoelzro++ | t/04-nativecall/11-cpp.cpp: Fix DLLEXPORT on non-Windows for 11-cpp.cpp |
|||
03:41
adu joined
03:44
laouji left
|
|||
adu | lots of changes | 03:47 | |
03:49
raiph left,
Sqirrel left
|
|||
timotimo | the newest commit is from may 16, so maybe this was just a rebase | 03:49 | |
adu | what is this "Semicolon form of 'module' without 'unit'" error? | 04:06 | |
timotimo | m: class Foo; has $.a | ||
camelia | rakudo-moar ec91da: OUTPUT«Saw 1 occurrence of deprecated code.Semicolon form of 'class' without 'unit' seen at: /tmp/DeIFThj0E0, line 1Deprecated since v2015.4, will be removed with release v2015.9!Please use 'unit class' instead.» | ||
timotimo | m: class Foo { has $.a } | ||
camelia | ( no output ) | ||
timotimo | m: unit class Foo; has $.a | ||
camelia | ( no output ) | ||
04:15
anaeem1 joined
04:19
anaeem1 left,
anaeem1_ joined
04:23
vendethiel joined
04:25
Calibellus joined
|
|||
adu | timotimo: that's the big change I was talking about | 04:25 | |
04:26
laouji joined
|
|||
adu | I know it's like just one thing, but it means I have to do stuff to make my library work well again | 04:26 | |
04:30
cognominal left,
cognominal joined
04:47
adu left,
yeahnoob joined
04:48
yeahnoob left
04:49
vendethiel left
05:07
vendethiel joined
05:14
Calibellus left
05:27
kaare_ joined
05:30
vendethiel left,
xfix joined,
araujo joined,
araujo left,
araujo joined
05:33
araujo left
05:37
zengargoyle left
05:39
zengargoyle joined
05:42
|Tux| left,
|Tux| joined
05:45
Patterner joined
05:49
diana_olhovik joined
05:50
Psyche^ left
05:54
|Tux| left,
zengargoyle left
05:55
|Tux| joined
05:56
PZt left,
zengargoyle joined
|
|||
TimToady | indeed, and the sooner we break things that still need breaking, the more stable it will be in the last quarter | 05:57 | |
06:00
adu joined
06:04
yeahnoob joined,
skids left
06:14
zengargoyle left
06:16
zengargoyle joined
06:21
[Sno] left
06:25
atweiden left
06:30
fhelmberger joined
06:39
_mg_ joined
06:42
RabidGravy joined
|
|||
dalek | line-Python: 084ae12 | (Justin DeVuyst)++ | lib/Inline/Python.pm6: Copy and munge the newer, and working, native sub from I::P5. |
06:45 | |
line-Python: db3aab6 | (Justin DeVuyst)++ | lib/Inline/Python.pm6: Fix for new unit declarator. |
|||
line-Python: be0a292 | niner++ | lib/Inline/Python.pm6: Merge pull request #4 from jdv/master unit and cur fixes |
|||
06:55
gfldex joined
07:02
Ven joined
07:03
Sqirrel joined
07:04
domidumont joined
07:05
[Sno] joined
|
|||
masak | GOOOD MOOOOorning, #perl6 | 07:05 | |
masak greets using diminuendo today | 07:06 | ||
m: sub x { 1, 2, 3 }; sub y { 4, 5, 6 }; sub z { x, y }; for z() { .say } | |||
camelia | rakudo-moar ec91da: OUTPUT«1 2 34 5 6» | ||
masak | this... was surprising new (GLR?) behavior to me. | ||
07:06
gfldex left
|
|||
masak | what's the rationale? is it for realz and not a bug? (assuming it is earnest, since surely we have ample tests for this.) | 07:06 | |
07:07
Ven left
|
|||
masak | also, what's the recommended way to write the `z` sub nowadays? | 07:07 | |
this broke a real production script for me. | 07:08 | ||
07:08
domidumont left
07:09
domidumont joined
07:11
zakharyas joined
|
|||
moritz | m: sub x { 1, 2, 3 }; sub y { 4, 5, 6 }; sub z { flat x, y }; for z() { .say } | 07:15 | |
camelia | rakudo-moar ec91da: OUTPUT«123456» | ||
masak just discovered that | 07:16 | ||
ok, so assuming that this is "to spec" (or whatever you young people call it nowadays) | 07:17 | ||
is this change/new behavior documented somewhere? | 07:19 | ||
I believe it's worth documenting. it's surprising for people used to Perl 5, for example. | 07:20 | ||
masak fixes that in the script, and gets more failures downstream | 07:23 | ||
DrForr | masak: Re: category theory - en.wikipedia.org/wiki/Univalent_foundations | 07:24 | |
masak | DrForr: I am aware ;) | 07:26 | |
but thanks. | |||
DrForr | I was pretty sure, given your comments on category theory, but it never hurts to check. | ||
masak | it feels pretty clear that we are seeing the beginnings of an important field, which will only gain in influence in CS over the coming decades. | 07:27 | |
that's good. for too long we've been doing computing in ad-hoc ways, without much in the way of foundations. | |||
DrForr | I came across www.quantamagazine.org/20150519-wi...s-of-math/ last night. | 07:28 | |
masak | m: sub foo { return }; my @a; push @a, foo(); say @a.perl | 07:37 | |
camelia | rakudo-moar ec91da: OUTPUT«[Any]<>» | ||
masak | ok, this is my next changes-related trouble. | ||
is this a case of returning Empty these days? | |||
07:37
rindolf joined
|
|||
masak | m: sub foo { return Empty }; my @a; push @a, foo(); say @a.perl | 07:37 | |
camelia | rakudo-moar ec91da: OUTPUT«[]<>» | ||
masak | seems so. | ||
m: sub foo { return Nil }; my @a; push @a, foo(); say @a.perl | |||
camelia | rakudo-moar ec91da: OUTPUT«[Any]<>» | ||
masak | *sigh* | 07:38 | |
masak wishes he had more time to backlog, so he could maybe understand these changes better | |||
DrForr | OpenStack has a new Docker-ish community thing, maybe we could get perl6 added. | 07:40 | |
masak | absolutely. | ||
ok, that fixes my production script. those were the only two things, thankfully. | |||
(`flat x, y` and `return Empty`) | |||
DrForr | That's probably affected some of my code too. (At least I had to change things when the match behavior changed last week...) | 07:41 | |
07:42
adu left
|
|||
masak | there is nothing in the spec about Empty. | 07:42 | |
there is a new section (lizmat++) about "Empty Parcel", which I guess is related. | 07:43 | ||
m: say () === () | |||
camelia | rakudo-moar ec91da: OUTPUT«True» | ||
masak | m: say () === Empty | ||
camelia | rakudo-moar ec91da: OUTPUT«False» | ||
masak | m: say $() === Empty | ||
camelia | rakudo-moar ec91da: OUTPUT«Use of Nil in string context in block <unit> at /tmp/wpvLQBoQhZ:1False» | ||
masak | m: say $( ) === Empty | ||
camelia | rakudo-moar ec91da: OUTPUT«False» | ||
masak | heh. | ||
or... not related. whatever. | |||
DrForr | I noticed it when doing token foo { <match>? } # and $/<match> started returning Empty rather than Nil. | ||
masak | (╯°□°)╯︵ ┻━┻ | ||
DrForr | Naah, I just rewrote a few actions, but it did seem to make things gunkier. | 07:46 | |
07:47
FROGGS joined
|
|||
masak | ok, I've backlogged for Empty. | 07:49 | |
there isn't much, but I believe this is the important bit: irclog.perlgeek.de/perl6/2015-05-08#i_10569800 | |||
I think my only kvetch about Empty is that `return;` means `return Nil;` and not `return Empty;` (as it used to mean before there was a distinction) | 07:50 | ||
07:52
abraxxa joined
|
|||
DrForr | That sounds pretty much like how I got singed a bit. Eeh, it's all part of the romp through the ever-changing garden maze that is a new language. | 07:54 | |
FROGGS | wow, what happened to roast? | 07:55 | |
461 files changed, 2527 insertions(+), 2506 deletions(-) | 07:56 | ||
ahh, stuff like s/_/-/ | |||
07:56
|Tux| left
07:57
|Tux| joined
08:01
Isp-sec joined
08:09
Ven joined
|
|||
Ven | \o, #perl6! | 08:09 | |
FROGGS | hi Ven | ||
08:11
virtualsue joined
08:12
vendethiel joined
08:14
darutoko joined
08:17
domidumont left
|
|||
dalek | kudo/nom: 7eb5127 | FROGGS++ | / (4 files): add support for unions in NativeCall using CUnion repr |
08:24 | |
kudo/nom: e09a2fb | FROGGS++ | tools/build/NQP_REVISION: bump nqp/moar for CUnion repr |
|||
08:27
fhelmberger left
08:30
dakkar joined
08:33
Sqirrel left
|
|||
dalek | kudo/nom: 5b50254 | FROGGS++ | t/04-nativecall/CompileTestLib.pm: add unit keyword to test helper module |
08:34 | |
08:36
Sqirrel joined
08:44
espadrine joined
|
|||
DrForr | masak: I assume you've also run across hottheory.files.wordpress.com/2013...1a258c.pdf | 08:46 | |
(which has some pretty neat ASC^WUnicode art :) ) | 08:47 | ||
Oh, good grief, they cover surreal numbers on page 401..411. | 08:48 | ||
masak | I have indeed run into it. | 08:49 | |
started reading it, even, but not gotten far yet. | |||
probably will devour it at some point. | |||
to be honest, I'm still catching up on group theory, universal algebra, and topology just so I'll be able to better understand ordinary 50-year-old category theory :P | 08:50 | ||
this new stuff looks exciting but I'm not there yet. I'm about 50 years behind. | |||
DrForr | Nod. I did algebraic topology in college, but that was a *long* time ago. | 08:51 | |
08:58
vendethiel left
|
|||
Ven has that book... as a printed copy | 09:00 | ||
if you want to read it, I'd recommend to (pretty much) skip the introduction. It's really, really, really scary, and much more than what's following | |||
DrForr | Though it does give you the excuse to write (♢⊴♡) :≡ ∀(y:No)... to f*ck with non-Unicode systems. | ||
09:09
Foxcool left
09:12
Foxcool joined
09:20
fhelmberger joined
09:27
Ven left
09:29
yeahnoob left
|
|||
DrForr | Oh, nice, they released the TeX source as well, HoTT++ | 09:32 | |
Also, . o ( TeX, not Omega? ) | 09:33 | ||
masak | what's Omega? | 09:35 | |
clearly they should've used iTeX :P www.youtube.com/watch?v=eKaI78K_rgA | |||
DrForr | The ground-up Unicode rewrite. | ||
masak | ooh | 09:36 | |
DrForr | Does the fact that I actually *heard* the *ding* without even viewing the YouTube link make me weird? :) | ||
moritz | DrForr: if so, I'm weird too :-) | ||
masak | oh, me as well | 09:39 | |
I also heard the proper tonal pronunciation | |||
09:39
vendethiel joined
|
|||
masak feels at home here on #perl6 :) | 09:40 | ||
09:42
Isp-sec left
09:47
rarara left
09:53
RabidGravy left
10:00
andreoss joined
10:01
vendethiel left
10:05
laouji left
10:07
vendethiel joined,
lizmat joined
10:08
woolfy joined
10:09
woolfy left,
pdcawley joined
10:13
pdcawley left
10:14
lizmat_ joined,
lizmat left
10:15
lizmat_ is now known as lizmat
10:19
pdcawley joined
10:20
rindolf left
10:29
vendethiel left
10:33
domidumont joined
|
|||
lizmat | good *, #perl6! | 10:39 | |
dalek | ast: e816632 | lizmat++ | / (70 files): s/eval_lives_ok/eval-lives-ok/g |
||
lizmat | those should probably all be something like is EVAL "...", $value to be sure it is doing the right thing | 10:40 | |
but that is for another day | |||
10:52
Ven joined
10:53
risou is now known as risou_awy,
risou_awy is now known as risou
10:54
risou is now known as risou_awy,
risou_awy is now known as risou
|
|||
dalek | ast: 9f47446 | lizmat++ | / (229 files): s/lives_ok/lives-ok/g |
11:01 | |
lizmat | there was something special about the migration of is_approx to is-approx, right? | 11:02 | |
[ptc] | yay lizmat++! # kebab-case | 11:03 | |
lizmat: yes, is-approx hasn't yet been implemented, has it? | |||
iirc, there was still a discussion going on on github about that | |||
lizmat | is-approx atm is the old is_approx | 11:04 | |
[ptc] | specifically about the implementation | ||
moritz | and didn't folks discuss an alternative interface, or alternative precision calculation or something? | ||
lizmat | in Test.pm | ||
[ptc] | moritz: yup | ||
lizmat | so maybe I should undeprecate is_approx now ? | ||
to allow for a more smooth transition to is-approx ? | 11:05 | ||
moritz | lizmat: | ||
[ptc] | the python peeps had a good algorithm for determining approximately equal to something, and I think that was less surprising than the current implemenation | ||
moritz | lizmat: yes | ||
[ptc] thinks that would probably be a good idea, too | 11:06 | ||
lizmat | ok, will do | ||
11:06
laouji joined
|
|||
dalek | kudo/nom: fb28112 | lizmat++ | lib/Test.pm: Undeprecate is_approx in lieu of new API |
11:08 | |
11:12
araujo joined
11:13
araujo left
11:35
araujo joined,
araujo left,
araujo joined,
araujo left,
RabidGravy joined
11:37
Ven left
11:39
araujo joined
11:40
telex left
11:41
araujo left
|
|||
dalek | ast: c5e8a0f | lizmat++ | / (138 files): Remove all superstitious "done"s |
11:42 | |
11:42
telex joined
|
|||
lizmat | afk for a bit& | 11:43 | |
11:50
lolisa joined
11:56
pdcawley left
12:00
Ven joined,
Tux__ joined
12:01
chahal joined
12:02
chahal left
12:04
|Tux| left,
vendethiel joined
12:07
b2gills left
12:09
rarara joined
12:20
b2gills joined
12:25
laouji left
12:29
araujo joined
12:34
Sqirrel left
12:36
Sqirrel joined
|
|||
Ven | if I override "rule ws" inside my grammar, will it correctly be used with :sigspace? | 12:40 | |
moritz | yes | ||
(your version of ws will be used) | |||
Ven | ...seems like I can't paste a tab inside the linenoise repl | 12:42 | |
12:50
vendethiel left
12:53
vendethiel joined
12:56
pdcawley joined
12:57
anaeem1__ joined,
anaeem1__ left
13:00
anaeem1_ left
|
|||
Ven | mmh, Grammar::Debugger tells me "KAY" (or rather, MATCH) when running, but then the `ok` fails... | 13:02 | |
13:06
raiph joined
13:10
[Sno] left
|
|||
hoelzro | tadzik: do you remember why panda runs $cmd with standard error redirected to standard output here? github.com/tadzik/panda/blob/maste...er.pm#L110 | 13:13 | |
ah, this is why: github.com/tadzik/panda/pull/127 | 13:14 | ||
(and github.com/tadzik/panda/pull/126) | |||
FROGGS | hoelzro: that was me | 13:15 | |
13:15
vendethiel left
|
|||
hoelzro | FROGGS: ah ha | 13:16 | |
I'm trying to figure out a comprimise so that I can get emmentaler to be able to look at standard error output for warnings | 13:17 | ||
FROGGS | hmmm | ||
sadly we cannot read from two filehandles when piping | |||
13:25
burnersk left
|
|||
hoelzro | yeah, it's no easy task | 13:29 | |
13:31
brrt joined
|
|||
brrt | \o | 13:31 | |
13:32
dolmen joined
|
|||
hoelzro | ahoy brrt | 13:32 | |
brrt | hi hoelzro :-) | ||
i was looking through the site at julialang.org/ and noticed something in the 'performance table' | 13:34 | ||
luajit is basically 'twice as slow as C' for most operations | |||
that is pretty **** amazing | 13:35 | ||
i hope that we can get as speedy as that once | 13:36 | ||
[Coke] | looks like the rakudo-star-daily run ran, but all the module tests failed with a not found. | 13:43 | |
13:48
skids joined
13:51
krakan left
13:52
lolisa left
13:54
skids left
13:58
FROGGS left
|
|||
dalek | pan style="color: #395be5">perl6-examples: e15c82b | andreoss++ | / (3 files): [euler] problem 89 |
13:58 | |
13:58
vendethiel joined
|
|||
Woodi | hi #perl6 :) | 14:00 | |
14:02
anaeem1_ joined
|
|||
Woodi | just reading www.cs.utexas.edu/users/EWD/transc...WD648.html and in one paragraph there are words: "object", "structural" and "lemma" (as description for subroutine)... it is amazing that all that common words was used to describe what program is :) | 14:03 | |
but about panda vs versions and authors: I think some system like Debian package pinning configuration file can be used - man 5 apt_preferences it automatically resolves dependencies when some package was pinned as prefered | 14:06 | ||
14:06
[Sno] joined
|
|||
timotimo | but we want to be able to install the same module name from two different authors, or two or more versions of the same module at the same time | 14:06 | |
14:21
krakan joined
14:23
dolmen left
14:29
PZt joined
|
|||
Woodi | timotimo: I.m not familiar with details. just saw command line attempts... | 14:33 | |
14:33
[ptc] joined
14:34
araujo left
|
|||
Woodi | ...which is also valid way... | 14:34 | |
14:34
Ven left
|
|||
dalek | kudo-star-daily: 0577c32 | coke++ | log/ (10 files): today (automated commit) |
14:36 | |
rl6-roast-data: aaa2cbe | coke++ | / (9 files): today (automated commit) |
|||
rl6-roast-data: 2d1e623 | coke++ | / (2 files): today (automated commit) |
|||
rl6-roast-data: b68438d | coke++ | perl6_pass_rates.csv: today (automated commit) |
|||
[Coke] | same old nqp-parrot failures. | 14:38 | |
14:39
Calibellus joined
|
|||
[Coke] | ... that's wierd. why are there 3 commits from perl6-roast data... | 14:40 | |
... and no commits for 3 days before that? | 14:41 | ||
that's... weird. | |||
I'm going to kill those commits and re-run today's run by hand, I guess. | 14:42 | ||
14:45
vendethiel left
14:47
muraiki joined
14:52
vendethiel joined
14:56
tinyblak left
|
|||
dalek | kudo/cpp: 35fb090 | hoelzro++ | t/04-nativecall/13-cpp-mangling. (2 files): Test C++ methods marked as 'const' |
14:56 | |
kudo/cpp: 30c9a82 | hoelzro++ | lib/NativeCall.pm: Add cpp-const trait for routines For some reason, when I actually use this, the new trait is not recognized and a compilation failure occurs. |
|||
kudo/cpp: b96ae51 | hoelzro++ | lib/NativeCall/Compiler/GNU.pm: Fix GNU mangling for const methods |
|||
colomon | oooo, cpp progress! | 15:01 | |
hahainternet | oh wow cpp | 15:05 | |
crazy | |||
i need to have another look at nativecall | |||
see if i can alloc what's required to get tcl working through it | |||
i am under the impression that was all enabled but i haven't got the time to look at it before weekend which sucks | |||
15:06
FROGGS joined
15:07
freeze joined
15:10
fhelmberger left
|
|||
tony-o_ | hoelzro++ | 15:12 | |
15:13
vendethiel left
15:15
vendethiel joined,
_mg_ left
|
|||
timotimo | aaaah, the hague grant success for brrt has been news'd on the perlfoundation site | 15:16 | |
news.perlfoundation.org/2015/05/hag...epted.html | |||
colomon | \o/ | 15:17 | |
FROGGS | yays, got CUnions ported to jvm (which was easy) and inlining (which was very not easy) | 15:20 | |
hoelzro | hahainternet: the C++ support is neat; major props to FROGGS[mobile] for doing it | ||
timotimo | FROGGS: wow, well done! | ||
hahainternet | hoelzro: i don't have any desire to use it, but that's purely due to C++, congrats on all the work done so far | ||
nativecall is very compelling | |||
hoelzro | hahainternet: I'm not a C++ guy myself, but I want to use C++ libraries from Perl 6 | 15:21 | |
hahainternet | indeed | ||
hoelzro | and it may be appealing to people with C++ codebases that want to use Perl 6 to drive higher level logic | ||
timotimo | right, using existing c++ libraries is very valid even if you don't want to write any C++ | ||
colomon has quite a lot of C++ code… | |||
hahainternet | i wasn't trying to suggest it wasn't valid :) | 15:22 | |
timotimo | it'd be super amazing if we could have Qt without going through Python | ||
hahainternet | for me, tcl and gst are on the perl6 hack-about list | 15:23 | |
timotimo | i don't know what gst is | ||
hahainternet | ran into issues with tcl as it expects the caller to do the allocations and i wanted to be as pure perl6 as possible | ||
timotimo: gstreamer | |||
timotimo | ah | ||
hahainternet | i mean i can hack around any of it regardless, but this is purely for my pleasure so i am fine with waiting | 15:24 | |
i need to read more about GLR anyway and get writing some p6 even if it doesn't use nativecall | |||
15:24
tinyblak joined
|
|||
[Coke] | hahainternet: you working on inline::tcl or somesuch? | 15:24 | |
timotimo | well, you can do allocations in perl6 by just calling into malloc | ||
hahainternet | [Coke]: not exactly | ||
PerlJam | hahainternet: once the GLR is done, you shouldn't need to think about it ever again. | 15:25 | |
[Coke] | I ran out of tuits to try to get tcl-on-nqp working some time ago. Surprised to see anyone looking at tcl integration at all :) | ||
hahainternet | and timotimo yeah ultimately i need to hook it into event loops and GC so there's a lot of reading before | ||
[Coke]: it's not so much integration as i have an existing tcl bot i'm refactoring to use 8.6, and it would be very handy to safely hook in a whole bunch of libraries that have poor tcl equivalents | |||
hoelzro | timotimo: I didn't know we relied on Python for Qt functionality | 15:26 | |
hahainternet | so from image manipulation to DOM parsing to websockets | ||
timotimo | i haven't seen anybody use Qt so far, except for examples from nine's talks | ||
the talks about inline::*, thtat is | 15:27 | ||
hahainternet | i mean i can always do all of this in golang or C etc, i've done some work in golang already for it | ||
but i need to learn perl6 and it's a good excuse to do some really tricky stuff well | |||
timotimo | that sounds very good :) | ||
arnsholt | FROGGS: How are you handling inlined stuff? Do they return a pointer to the embedded thing, or a copy? | 15:28 | |
timotimo | i think maybe we want a "reference counted piece of memory" REPR | ||
with a central registry | |||
so we can allocate n bytes, say "something out there's referencing it at the moment" and not worry about a thing any more | 15:29 | ||
arnsholt | I think that's gonna end up being painful | ||
FROGGS | arnsholt: you can look at the code in a bit | ||
arnsholt | I think a better way is to make it the programmer's job to keep track of which bits of memory are to be freed by C (and thus has to be left alone by Perl 6), and which ones can be freed when the Perl 6 object is GCed | 15:30 | |
FROGGS: Cool. Problem is both solutions are going to be annoying; either we'll have non-C semantics (if it's a poiinter to the embedded thing) or unintuitive Perl 6 semantics (if it's a copy) | 15:31 | ||
FROGGS | arnsholt: in short: I changed the default Structure and Union interfaces to inline into other structs rather then get referenced | ||
hahainternet | this is something i have to face in Perl6 and Go for this Tcl project too, as it has its own reference counting so i need to take part in that | 15:32 | |
arnsholt | That's going to break everything in the ecosystem though, isn't it? | ||
hahainternet | but i am not exactly particularly experienced with this, nor particularly knowledgable | ||
FROGGS | arnsholt: and when we construct a struct with an referenced thing, I install a Pointer instead of the Union/Struct | ||
arnsholt: no, nothing changes from a Perl 6 level perspective | 15:33 | ||
arnsholt | Oh, I don't care about the implementation details that much right now | ||
FROGGS | arnsholt: to tell NativeCall that a struct/union in an attribute shall be inlined you put an 'is inlined' trait on it | ||
arnsholt | The question is what you get when you read an inlined attribute | ||
FROGGS | can you rephrase that? | 15:35 | |
arnsholt | Assuming "struct a { struct b { int value; }; }", what do you get from $a.b? | 15:36 | |
FROGGS | struct b | ||
arnsholt | Although it has to be a pointer, come to think of it, otherwise $a.b.value = 42 won't work | ||
hoelzro | hmm...instead of using method foo is cpp-const for const c++ methods, does it make more sense to re-use an existing Perl 6 trait like 'is pure'? | ||
arnsholt | But that's different from the C semantics | ||
hoelzro | hmm, actually, pure !~~ const | 15:37 | |
15:37
vendethiel left
|
|||
arnsholt | Now that I actually articulate it, I think the C semantics can't really be duplicated in NativeCall anyways, since that'd mean changing the value in a flattened thing would be impossible through the normal means | 15:37 | |
15:41
brrt left
|
|||
FROGGS | arnsholt: attribute reads and writes for cstructs and cunion are handled by an attribute offset plus the mem location of the cstruct/cunion ptr | 15:42 | |
arnsholt: does that answer your question? | |||
TimToady | m: my @a = 1,2,3; .say for @a,@a | ||
camelia | rakudo-moar fb2811: OUTPUT«123123» | ||
TimToady is working on ^^ this bug | |||
arnsholt | FROGGS: Right, so you basically return &(a->b) rather than a->b | 15:43 | |
FROGGS | TimToady: this should print "1 2 31 2 3"? | ||
TimToady | yes | ||
FROGGS | TimToady: nice, that even makes sense in my lil' brain :o) | ||
arnsholt | Probably the only way to handle it, now that I've actually thought about it for a bit | ||
TimToady | lists should not let things force flattening for themselves like that | ||
arnsholt | FROGGS: Last I discussed this with jnthn, I think he voted against "is inlined" BTW | 15:44 | |
TimToady | m: my @a = 1,2,3; .say for ^3,@a | ||
camelia | rakudo-moar fb2811: OUTPUT«012123» | ||
TimToady | same problem | ||
arnsholt | Not sure if we came up with any better names, though | ||
FROGGS | arnsholt: that is just a trait name in NativeCall.pm... we can easily change that | 15:45 | |
arnsholt: though, it is the only name I can come up with, and it explains very well what is going on | |||
arnsholt: and the 'is inlined' trait on attributes will also work on shaped arrays, which is why I did that | 15:46 | ||
arnsholt | Oh, we'll have "is inlined" elsewhere too? That changes things a bit | ||
The objection, IIRC, is that inlined means other things too. Like inlined functions | |||
FROGGS | arnsholt: not yet | 15:47 | |
I was talking of 'is inlined' of shaped arrays in cstructs etc | |||
on* | |||
15:47
skids joined
|
|||
FROGGS | ohh | 15:47 | |
inlined functions... | |||
well, I'm all ears for a better trait name | 15:48 | ||
TimToady | the opposite of indirect is direct, I suppose | ||
the opposite of there is here | 15:49 | ||
the opposite of transclusion is inclusion | |||
FROGGS | TimToady: do you propose a trait called 'is lined'? :D | 15:50 | |
or translined... | |||
arnsholt | FROGGS: I think my best candidates are "is flat", "is flattened" or "is embedded" | ||
TimToady | no, direct, here, or included | ||
arnsholt | Although embedded is one of those ambiguous ones too | ||
FROGGS | arnsholt: and flat has other meanings in P6 | ||
arnsholt | included might work | ||
FROGGS | yeah... | ||
TimToady | incorporated | 15:52 | |
FROGGS | nah, to dyffucilt | ||
FROGGS .oO( is assimilated - we can even shorten that one... ) | 15:53 | ||
TimToady | is borged | ||
borg instead of has :) borg int32 @foo[4]; | 15:55 | ||
though I think we proposed HAS for that once | |||
15:56
noganex_ left
|
|||
TimToady | well, I can fix @a,@a by not setting $!flattens, but then the parser breaks when compiling Test.pm. Gee, I am so completely surprised... ;) | 15:58 | |
FROGGS | *g* | ||
TimToady rather suspects this is gonna be a fix for next month, not this month, esp since he has to drive to SoCal today | 16:01 | ||
16:02
araujo joined,
araujo left,
araujo joined
|
|||
FROGGS | TimToady: we can do HAZ instead of the trait without much fuzz I think... happily that won't change anything to the VMs | 16:02 | |
I just need to change my feelings about HAZ | 16:03 | ||
TimToady | shouldn't it be CANHAS? | 16:04 | |
CANHAZ I mean | |||
16:04
rindolf joined
|
|||
raydiak | please tell me I stumbled into another joke.../me backlogs :) | 16:04 | |
FROGGS: I've got :auth<> and :ver<> more or less working here (this version is in the "authver" branch), though the parsing is a flimsy hack, didn't have much luck trying to make use of Perl6::Grammar for that...any advice there, or is parsing them with /\: (\w+) \< (<-[>]>*) \>/ adequate for now? | 16:07 | ||
16:08
Ven joined,
diana_olhovik left
|
|||
raydiak | FROGGS: also I'm matching the auth as a substring atm so e.g. :auth<FROGGS> matches :auth<github:FROGGS>, but don't think we can keep doing that without a separate syntax for a whole literal string, in case one auth is a substr of another | 16:08 | |
FROGGS | raydiak: it would be most awesome if we could match the entire string against Perl6::Grammar.longname | 16:10 | |
raydiak | FROGGS: indeed, I took a couple cracks at that before I decided I was wasting time, but I'm all for it if you can tell me how to do so from p6 user code at runtime | 16:11 | |
FROGGS | raydiak: I don't know how (yet) :/ | ||
I mean... | |||
m: say $~MAIN | |||
camelia | rakudo-moar fb2811: OUTPUT«Slang.new(:grammar(Perl6::Grammar), :actions(Perl6::Actions))» | 16:12 | |
FROGGS | m: say $~MAIN.grammar.longname | ||
camelia | rakudo-moar fb2811: OUTPUT«Cannot look up attributes in a type object in any longname at src/Perl6/Grammar.nqp:419 in block <unit> at /tmp/R0jd9eAHg7:1 in any <unit-outer> at /tmp/R0jd9eAHg7:1» | ||
FROGGS | m: say $~MAIN.grammar.new.longname | ||
camelia | rakudo-moar fb2811: OUTPUT«Cannot look up attributes in a type object in any longname at src/Perl6/Grammar.nqp:419 in block <unit> at /tmp/BHUAHV_1k5:1 in any <unit-outer> at /tmp/BHUAHV_1k5:1» | ||
FROGGS | raydiak: I guess we don't want to EVAL these strings? | 16:13 | |
raydiak | FROGGS: I for one am not in favor of EVALs in the package manager from user input unless it's somehow safe in ways I don't understand | 16:14 | |
16:14
gfldex joined
|
|||
FROGGS | yes, I feel exactly the same way | 16:14 | |
raydiak | though iirc, I could sworn I did see someone manage to get a parse to work like that here before...maybe will check the irclog | 16:15 | |
16:15
eli-se joined
|
|||
FROGGS | problem is, you use 'use Foo:auth(/:i froggs/)' in your code and you want to paste that to 'panda install' or put it into the deps section of your META.info | 16:15 | |
eli-se | hi!! | 16:16 | |
FROGGS | m: use Perl6::Grammar:from<NQP> | ||
camelia | ( no output ) | ||
FROGGS | raydiak: along those lines... setting highwater etc | ||
raydiak: but this will also run BEGIN blocks and is useless without the actions | 16:17 | ||
it is like we want an EVAL, that is a subset of Perl6::Grammar | |||
raydiak | FROGGS: well we'd need to draw a line in the panda options which doesn't exist in Rakudo anyway...or else they can do like panda install Foo:auth(qx/rf -rf \//) or so :) | ||
FROGGS | m: say EVAL ':auth(/:i froggs/)' | ||
camelia | rakudo-moar fb2811: OUTPUT«auth => » | ||
16:18
espadrine left
|
|||
raydiak | FROGGS: yes subset, precisely | 16:18 | |
FROGGS: housesitting until Friday, internet connection is even worse here, forgive me if I seem unattentive :) | |||
FROGGS | raydiak: np :o) | 16:20 | |
(I have three kids, I know the feeling) | |||
raydiak | heh, three needy dogs here :) | ||
16:22
anaeem1_ left
|
|||
FROGGS | :D | 16:25 | |
andreoss | is v5 discontinued? | 16:28 | |
i'm trying to build it. a bunch of warnings about deprecated NQP functions | |||
and it fails to build of course | 16:30 | ||
FROGGS | andreoss: it is tightly coupled with the rakudo internals, and thus breaks very fast when one does not keep it up to date | 16:31 | |
andreoss: and I dont touched it for months | |||
one reason is that Inline::Perl5 serves the goals that v5 was meant to solve | |||
16:31
liztormato joined
|
|||
FROGGS | though, it was/is good to explore slangs | 16:32 | |
liztormato | FROGGS: do you mind if I give it some TLC ? | ||
FROGGS | TLC? | 16:33 | |
liztormato | Tender Loving Care | ||
FROGGS | might make more sense when I invest some time to unbreak it | 16:34 | |
dinner & | |||
andreoss | but Inline::Perl5 uses perl5 binaries under the hood? doesn't it? | ||
liztormato | Yes | 16:35 | |
16:35
kaare__ joined,
kaare_ left
|
|||
andreoss | it's not as nice as having alias perl='perl5 -MPerl5' | 16:35 | |
*perl6 | 16:36 | ||
liztormato | Some more cycling & | 16:38 | |
16:38
liztormato left
|
|||
raydiak | I guess it depends...if by "nice" you mean things like fast, stable, and complete, I::P5 is (at least arguably) nicer than v5 | 16:39 | |
16:42
molaf joined
|
|||
andreoss | people would be more willing to migrate if there was features like v5 provides | 16:45 | |
TimToady | the problem with fixing @a,@a appears to be all the places that do things like (tostore,).flat.eager assuming an Array will preflatten in the parcel, which looks like a rather smelly construct to begin with | ||
I think this is definitely going to have to be done post-release | 16:46 | ||
andreoss | "you just put 'use v5'; and run it with perl6" | ||
16:47
noganex joined,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
TimToady | .tell pmichaud FYI I'm intending to slaughter the $!flattens flag after this release since it makes @a,@a misbehave in non-flat list context, looks like we'll have to fix all the (foo,).flat.eager things scattered here and there too | 16:49 | |
yoleaux | TimToady: I'll pass your message to pmichaud. | ||
16:50
diana_olhovik joined
|
|||
jercos | andreoss: really you should already have e.g., use v5.20 in perl 5 scripts, right? :p | 16:50 | |
otherwise you have to jump through hoops to use say >.> | 16:51 | ||
16:51
aborazmeh left,
vendethiel joined
|
|||
andreoss | some people would have 'use 5.020' | 16:53 | |
as PBP advices | |||
16:54
zakharyas left
16:55
mohij joined,
anaeem1_ joined,
espadrine joined
|
|||
jercos | eh, eval "use $]" and be done with it | 16:57 | |
16:58
Ven is now known as Guest24686
|
|||
jercos | Rakudo seems unaware of perl's more historical version check syntax though. | 16:58 | |
Guest24686 | whut | 16:59 | |
jercos | m: use v5.20 | ||
camelia | rakudo-moar fb2811: OUTPUT«===SORRY!===Could not find Perl5 in any of: file#/home/camelia/.perl6/2015.04-330-gfb28112/lib inst#/home/camelia/.perl6/2015.04-330-gfb28112 file#/home/camelia/rakudo-inst-1/share/perl6/lib file#/home/camelia/rakudo-inst-1/share/perl6/v…» | ||
jercos | m: use 5.020 | ||
camelia | rakudo-moar fb2811: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cpmdh45P0fUndeclared routine: use used at line 1» | ||
jercos | Guest24686: nickserv is a fickle beastie. | ||
16:59
eli-se is now known as Ven_
17:00
Ven_ is now known as Venn_,
Venn_ is now known as eli-se
|
|||
Guest24686 | eli-se pls | 17:00 | |
eli-se | XD | ||
17:00
Guest24686 is now known as Ven_
|
|||
Ven_ | seems like someone registered "ven", and it wasn't me :P | 17:02 | |
17:05
dakkar left
|
|||
FROGGS | andreoss: a 'use v5' can also load it via Inline::Perl5, when invoked with p6 | 17:06 | |
17:13
vendethiel left
17:14
gfldex left,
rivarun left
17:18
vendethiel joined
17:23
xinming joined
17:25
anaeem1_ left
17:41
vendethiel left
17:42
andreoss left,
[ptc] left
17:43
vendethiel joined
|
|||
dalek | p: 64e9266 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/ (9 files): implement CUnion repr on jvm, also inlining of CStructs and CUnions |
17:45 | |
timotimo | way cool. | 17:46 | |
masak | FROGGS++ | ||
dalek | kudo/nom: 7cd5616 | FROGGS++ | t (3 files): bumd nqp and add tests for CUnion |
||
timotimo | Karlsruhe (ots) - Eine aufmerksame Bankmitarbeiterin verhinderte am Dienstag, dass eine ältere Frau um ihr Erspartes gebracht wurde. Als die 83-jährige Kundin gegen 13.20 Uhr die Bank betrat um 2.700 Euro abzuheben, wurde die Angestellte aufmerksam und fragte nach, wofür sie denn das Geld benötige. Die Dame erwiderte, dass sie das Geld einer Frau, die vor der Bank warten würde, aushändigen möchte. Dies | 17:47 | |
kam der 45-jährigen Mitarbeiterin merkwürdig vor und sie wollte daraufhin die Frau vor der Bank dazu befragen. Als die 20-30-jährige Betrügerin die Bankangestellte auf sich zukommen sah, fuhr sie mit einem VW Polo schnell davon. Nach dem Vorfall begleitete die Bankangestellte die 83-Jährige zur Polizei um Anzeige zu erstatten. Dort stellte sich heraus, dass die Dame vor zwei Wochen einen Brief erhielt, in | |||
dem das Geld gefordert wurde. Da der Betrag aber nicht ausbezahlt wurde, erschien die Betrügerin direkt an der Haustür der 83-Jährigen und forderte sie auf mit ihr zur Bank zu gehen, um das Geld zu holen. Die Polizei lobt das vorbildliche Verhalten der 45-Jährigen Bankangestellten und bittet alle Bankmitarbeiter in solchen Verdachtsfällen lieber einmal mehr Nachzufragen wozu das Geld benötigt wird. | |||
17:47
[ptc] joined
|
|||
FROGGS | ups | 17:47 | |
masak | timotimo: a bit too much at a time... :) | ||
FROGGS | :o) | 17:48 | |
Bankangestellte++ though | |||
17:49
cognominal is now known as venerable
|
|||
timotimo | oh | 17:49 | |
i think a cat ran over my keyboard | |||
and found the middle click | |||
masak | hah! | ||
17:49
venerable is now known as cognominal
|
|||
masak | "it was the cat" | 17:49 | |
Ven_ | ...could've been worse :) | ||
FROGGS | hehe >.< | ||
cognominal | Ven_, you can take Venerable :) | ||
Ven_ | cognominal no ty | 17:50 | |
17:50
gfldex joined
|
|||
masak | Venetian_Blinds | 17:50 | |
moritz enjoyed reading hintjens.com/blog:85 | 17:51 | ||
cognominal | or venereal :) | ||
timotimo | well, in order to paste i have to put three fingers on the trackpad and press down | 17:52 | |
during the walk of a cat, one front and one back foot are down simultaneously | |||
masak | timotimo: getting more and more respect for $cat | ||
timotimo | hehe | ||
he's a real troublemaker sometimes | |||
the other cat is very careful instead | 17:53 | ||
17:53
Ven_ left
|
|||
dalek | kudo/nom: 29e0835 | FROGGS++ | t/04-nativecall/04-pointers.c: inlude stdlib.h to get prototype of free() |
17:54 | |
FROGGS | damn c key -.- | ||
masak .oO( <other_cat> blame troublemaker cat -- achievement unlocked ) :P | |||
17:55
telex left
17:56
telex joined
|
|||
FROGGS | now... do we really want to have HAS instead of the 'is inlined' trait? | 17:57 | |
I guess, I should attempt to fix that | |||
18:04
[ptc] left,
[ptc] joined
18:05
burnersk joined,
vendethiel left,
[ptc]_ joined
18:10
eli-se left
|
|||
FROGGS | m: say 0x65 | 18:12 | |
camelia | rakudo-moar fb2811: OUTPUT«101» | ||
masak | m: say 65.base(8) | 18:13 | |
camelia | rakudo-moar fb2811: OUTPUT«101» | ||
masak | o.O | ||
coincidence? I think not! | |||
FROGGS | heh | 18:14 | |
18:23
diana_olhovik left
18:25
vendethiel joined
18:29
adu joined
18:30
rindolf left
|
|||
dalek | p: b91fbc8 | FROGGS++ | tools/build/MOAR_REVISION: bump moar for CStruct/CUnion improvements |
18:30 | |
kudo/nom: aca2a9e | (Sterling Hanenkamp)++ | t/04-nativecall/06-struct. (2 files): Adding test demonstrating structs with nested structs are not working |
18:31 | ||
kudo/nom: 354229e | FROGGS++ | t (2 files): add missing 'is inlined' in test and bump nqp |
|||
timotimo | do structs with nested structs inside nested structs work, though? | 18:32 | |
FROGGS | yes, that should work | ||
timotimo | how about putting structs inside structs that were put into structs that were already inside structs? | ||
FROGGS | the number of layers does not matter | 18:33 | |
timotimo | ok | 18:34 | |
nwc10 | complication nested in complication? :-) -- www.imdb.com/title/tt0088846/quotes...=qt0223927 | 18:36 | |
18:41
diana_olhovik_ joined
|
|||
rjbs | Her name was Mrs. Terrain? | 18:41 | |
Oh, right. I was thinking it was Sam's mother, but it was her poor friend. | |||
18:44
_mg_ joined
18:47
eli-se joined
|
|||
raydiak | FROGGS: wrt parsing longnames... :auth(/:i froggs/) kinda feels like terrible mixing of data and code which leads directly to the problem at hand, and secondarily, is unclear to users who might not be very familiar with perl itself | 18:49 | |
FROGGS | raydiak: though it is valid as part of a longname in a use statement | 18:50 | |
19:09
ilogger2 joined,
ChanServ sets mode: +v ilogger2
19:10
fhelmberger joined
|
|||
dalek | kudo/nom: 6d990fa | FROGGS++ | t/04-nativecall/06-struct.t: int in NativeCall code is ambiguous, use int32 |
19:11 | |
19:13
dwarring joined
|
|||
FROGGS | and with this patch, all nativecall tests pass on jvm too... | 19:14 | |
I'll probably disable CURLI tomorrow for the release, and do an ecosystem smoke to see what's going on | 19:15 | ||
but now, I'll rest | |||
have a nice evening #perl6 | |||
19:15
fhelmberger left
|
|||
FROGGS | ahh, if someone implemented the HAS keyword (maybe steeling ideas from OO::Monitor) which would then maybe just apply the 'is inlined' trait, that'd be sweet :o) | 19:16 | |
19:45
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
avuserow | hahainternet: hey, I saw you mentioning gstreamer in the backlog. I played with that about 3-4 months ago and ran into some difficulties. I was wondering if you had any success or if it was just ideas at this stage | 19:48 | |
I think I managed to get it to play audio, which is my goal, but had troubles with their signal mechanism to determine what to play next automatically | |||
hahainternet | avuserow: i've not tried with perl6 yet, i have done some with python and with Golang | 19:51 | |
i'll have a play with it in p6 sooner or later but i know nothing about GC internals or event loops yet | |||
avuserow | yeah, I was just hacking around. xine seemed easier, but gstreamer seems to be the preferred way to output audio on linux these days, especially gaplessly | 19:53 | |
19:57
brrt joined
20:01
eli-se joined
|
|||
lizmat | hi #perl6! | 20:03 | |
.tell nine Is there a reason why nobody has added a "unit" statement to Inline::Perl5 to quiet the warnings? | 20:04 | ||
yoleaux | lizmat: I'll pass your message to nine. | ||
20:04
dolmen joined
|
|||
vendethiel | o/ | 20:05 | |
masak | lizmat: waiting until after release? | ||
lizmat | possibly... :-) | 20:06 | |
I just wanted to make sure it was a deliberate lack of action :-) | |||
masak .oO( any sufficiently advanced lack of action is indistinguishable from intent ) | 20:07 | ||
lizmat has *not* mentioned "will lazy" attribute trait in ChangeLog | 20:20 | ||
[Coke] | why not, too lazy? | 20:21 | |
lizmat | Well, there was this discussion about the naming and whether or not it should be in core ? | 20:22 | |
masak | lizmat: didn't it come and go in core? | ||
lizmat | well, yes, I put it there *before* the discussion :-) | ||
masak | I mean, if it's gone before the release, no need to mention it in the ChangeLog, right? | 20:23 | |
lizmat | true | ||
but not mentioning it now, and still keeping it, might not break code out there | |||
20:24
[Sno] joined
|
|||
lizmat | .tell rjbs are you using 'will lazy' atm? | 20:27 | |
yoleaux | lizmat: I'll pass your message to rjbs. | ||
lizmat | fwiw, if we keep it this way, I would probably want to call it "will lazily" | ||
20:28
fernando___ left,
fernando___ joined
|
|||
japhb | .ask FROGGS From the commit message for MoarVM: commit 4102a25b1acea1d453d87f4e614d328ba0af8816 | 20:29 | |
yoleaux | japhb: I'll pass your message to FROGGS. | ||
japhb | .ask FROGGS From the commit message for MoarVM: commit 4102a25b1acea1d453d87f4e614d328ba0af8816 it looks like the comparison is reversed (> instead of <). Am I misunderstanding? | ||
yoleaux | japhb: I'll pass your message to FROGGS. | ||
masak | I still have the uneasy feeling that the `will lazy` feature is not carrying its own weight. it doesn't have that je-ne-sais quoi of most core Perl 6 features, doing at least two things well at the same time. | 20:30 | |
instead, it has the sense of a way too overpowered tool (a new keyword-ish thing) to solve a single isolated problem. | 20:31 | ||
lizmat | but the general solution would involve a lot of boilerplate, like | 20:33 | |
method foo { $!foo //= lazy init } | 20:34 | ||
masak | I'm not advocating a general solution. rather the opposite. | ||
I *am* saying though that this problem can be solved outside of core first, and that because it can, it should. | |||
dalek | kudo/nom: 34788bf | lizmat++ | src/core/traits.pm: Sorry, "will lazy" not to be for this release <masak> I *am* saying though that this problem can be solved outside of core first, and that because it can, it should. |
20:36 | |
masak | phew. :) or rather, deja-phew. :/ | 20:37 | |
20:38
colomon joined
|
|||
masak | this is the second iteration of this discussion... | 20:38 | |
lizmat | well, I thought I'd do it now (again) before it gets too much into the wild | 20:39 | |
especially since we're going to have a Rakudo* release from this one (hopefully) | |||
dalek | ast: 9cf2c1c | lizmat++ | S12-attributes/instance.t: Remove tests for "will lazy" |
20:40 | |
masak | oh, I see. we discussed it on 2015-05-07, it was concluded that it should be removed, but it was never removed then. | 20:41 | |
lizmat++ | |||
lizmat | fwiw, I missed that conclusion | ||
so good that we're on the same page then | |||
masak | irclog.perlgeek.de/perl6/2015-05-07#i_10565792 | ||
lizmat | apparently I didn't miss it :-) | 20:42 | |
masak | :P | ||
lizmat | so, it was my subconscious making me bring it up again :-) | ||
masak | well, I just assumed it'd been removed already. so I'm glad we had this talk ;) | ||
I think `will lazy` fails the "strangely consistent" test for me. I could probably express this sentiment better face-to-face... | 20:43 | ||
lizmat | ah, and there was this discussion about "is cached" I forgot abouy | 20:44 | |
*about | |||
masak .oO( reminding you about backlog as a service ) | |||
brrt | what even is 'will lazy' supposed to do | 20:45 | |
lizmat | execute code on first access of an attribute, rather than at object create time | 20:46 | |
(which is what a default value does) | 20:47 | ||
masak | it's essentially a new type of phaser. | 20:50 | |
20:52
skids joined
|
|||
brrt | uhm, ok | 20:52 | |
can't seem to think why you'd do that | |||
masak | oh, the goal is a good one | ||
brrt | but i suppose people do want it :-) | ||
lizmat | it's one of the USP's of Moose | ||
colomon | USP? | 20:53 | |
lizmat | Unique Selling Point | ||
.oO( sorry, dabbled a bit in marketing at one point in my life) |
|||
masak | the Moose manual even encourages people to mark attributes lazy whenever they can. | ||
lizmat: you are forgiven :P | |||
dalek | rl6-roast-data: a340ef8 | coke++ | / (9 files): today (automated commit) |
20:54 | |
lizmat | masak: one could consider making all attribute defaults lazy by default | ||
colomon | I like the sound of that… but it does seem like something that is pretty easily done by a module, no? | ||
masak | lizmat: something about that feels uneasy, too. like it breaks Least Surprise. | 20:55 | |
lizmat | colomon: it would interfere with the autogenerated methods | ||
masak | lizmat: there's a reason it's not the default in Moose. it could easily have been. | ||
lizmat | so pretty tightly bound to the core, I would think | ||
masak | lizmat: also, there's a lot of Perl 6 code out there that would break if we did that. | ||
lizmat | masak: well, that may be just because they couldn't change it after having enough traction | 20:56 | |
masak | no, I don't think that's why. | ||
I think it's because it would be surprising. | |||
lizmat | has $.fh is lazy = open( $!file, :r ); | 20:57 | |
feels like a nice and clear syntax to me | |||
masak | aye. | ||
20:58
cognominal joined
|
|||
brrt | for my clarity, is lazy can work on method form twigils, but not in instance varialbe twigils, right | 20:59 | |
lizmat | yes, this would only apply to public attributes, aka with $.foo rather than $!foo | 21:00 | |
brrt | ok... hmm | ||
masak | I'm surprisingly fine with that. | ||
lizmat | making it work on $!foo would make jnthn very unhappy, I would think | ||
rjbs | For one thing, having attributes in Moose be eager by default helps you crash early. | 21:01 | |
yoleaux | 20:27Z <lizmat> rjbs: are you using 'will lazy' atm? | ||
rjbs | lizmat: I'm not. | ||
More on why not in a bit. | |||
lizmat | ok, cool, since "will lazy" is no more | ||
brrt | would the lazy block be applied each time the backing variable is undefined, or just one time? | ||
rjbs | has x => (isa => 'Bool', default => sub { ... }); | ||
lizmat | brrt: just once | ||
21:01
skids left
|
|||
rjbs | If that sub returns a non-Bool, and it's not lazy, you can crash at init time. Good! | 21:01 | |
So we only defer if the programmer agrees to trade off that early type check. | 21:02 | ||
brrt | that means you need a state variable to keep track if it has been called before | ||
rjbs | The state variable is the storage slot. | ||
brrt | no, i don't think it is; the storage slot can be re-undefined | ||
rjbs | brrt: We don't undef it, we delete it. | ||
Moose distinguishes set/unset from defined/undefined. | 21:03 | ||
lizmat | my original attempt at implementation was done by auto-generating the accessor method with a -once- block in it | ||
rjbs | Your attribute in Moose can be 'Maybe[Int]' in which case undef is also allowed, and your lazy default will return undef and then not be called the second time. | ||
brrt | right. but i'm not - at this point - sure whether perl6 does | ||
lizmat | that has a hidden state var to make the block run only once | ||
rjbs | brrt: Okay. | ||
There was also some talk, around that day, of an "is cached-per-instance" trait. | 21:04 | ||
lizmat | yes, looking at that now | ||
rjbs | I have a lot to say on this topic, probably. If it wasn't really long, I'd jus t say "watch my Moose tutorial for everything that is easier in Moose than p6 right now." :-) | ||
I'll try to distill it down to bullets soon. Like, after p5.22 is out. | |||
brrt | i was thinking about that one too, and i think it's a horrible idea; but my opinion is just that, an opinion | ||
lizmat | brrt: what is a horrible idea? | 21:05 | |
brrt | is-cached-per-instance | ||
rjbs | I think that people are going to write "method xxxx is cached" and then be really confused at some point. | ||
lizmat | yeah, but atm the self identity is part of the cache key | ||
so effectively, it *is* per instance atm | 21:06 | ||
masak | sounds like a sane default, too | ||
rjbs | Oho, I think that wasn't clear when I looked at it! | ||
Very good to know. | |||
brrt | is-cached for methods is not a terribly good idea, i agree | ||
the thing is, what happens when the underlying object changes | |||
lizmat | m: class A { method a(*@a) is cached { now } }; say A.new.a; say A.new.a | ||
camelia | rakudo-moar 34788b: OUTPUT«Instant:1432156043.663477Instant:1432156043.663477» | ||
lizmat | hmmm... it is not ? | 21:07 | |
21:07
khisanth_ joined
|
|||
lizmat | m: class A { method a(*@a) { now } }; say A.new.a; say A.new.a # just checking | 21:08 | |
camelia | rakudo-moar 34788b: OUTPUT«Instant:1432156154.834639Instant:1432156154.838208» | ||
brrt | hmmm | 21:09 | |
rjbs | m: class A { my $x = 0; method a { say 1; return $x++ } }; my $a1 = A.new; my $a2 = A.new; say $a1.a; say $a1.a; say $a1.a; say $a2.a; say $a2.a | ||
camelia | rakudo-moar 34788b: OUTPUT«1011121314» | ||
rjbs | m: class A { my $x = 0; method a is cached { say 1; return $x++ } }; my $a1 = A.new; my $a2 = A.new; say $a1.a; say $a1.a; say $a1.a; say $a2.a; say $a2.a | 21:10 | |
camelia | rakudo-moar 34788b: OUTPUT«100000» | ||
rjbs | No good. | ||
lizmat | maybe we should die on "is cached" on methods | 21:11 | |
at least for now | |||
rjbs | Also, we must never forget that the spec says that "not caching is a valid behavior on is cached code" | ||
So it can only be used for optimization, never avoiding side effects. | |||
So it's not great for some kinds of lazy, anyway. | |||
lizmat | also: speculation is only about caching subs | 21:12 | |
21:12
colomon left
|
|||
rjbs | speculation? | 21:12 | |
lizmat | so the fact that you can cache methods atm is really an oversight | ||
rjbs | nod | ||
lizmat | spec ? | ||
rjbs | specification? | 21:13 | |
lizmat | S06.2019 | ||
well, specification is overrated, I'm told :-) | |||
rjbs | :) | ||
lizmat | 2109 actually | ||
rjbs | To me, caching on a method would have to include object identity. But also, I'd be unlikely to use it unless it was a guaranteed cache, so I'm not super invested. | 21:14 | |
but if it does not cache based on invocant identity as well as arguments, I predict confusion | |||
lizmat | yeah, I'm going to disable it on methods for now | ||
there are no tests for it in roast | 21:16 | ||
timotimo | i disagree with making "is lazy" the default for default parameters | 21:19 | |
it goes quite a bit against the cool "our objects are small" thing | |||
if every attribute with a default value/expression has an integer applied to it that governs its lazyness thingie | 21:20 | ||
.o( or how do we do it? ) | |||
lizmat | naive implementation would involve a 'once' block in the autgenned accessor | ||
so yes, an extra int for each attribute | 21:21 | ||
in such a naive implementation | |||
but I think the consensus is already against it, so don't worry timotimo :-) | |||
timotimo | ah | ||
i was still backlogging | |||
21:24
vytas joined
|
|||
dalek | kudo/nom: 9fe7e8a | lizmat++ | src/core/Method.pm: Disallow "is cached" on methods for now |
21:25 | |
kudo/nom: 6f4c457 | lizmat++ | docs/ChangeLog: Mention "is cached" on methods just in case |
21:26 | ||
21:32
pat_js joined
|
|||
lizmat | rjbs: re irclog.perlgeek.de/perl6/2015-05-07#i_10566001 , it can actually be simpler: | 21:32 | |
m: sub a { once { say "hello"; 42 } }; say a; say a | 21:33 | ||
camelia | rakudo-moar 34788b: OUTPUT«hello4242» | ||
lizmat | The once block is replaced by its value, so that example becomes: | ||
method fh { once $!fh = open $file } | |||
or if you really don't need it anywhere else in the class, you don't even need an attribute: | 21:35 | ||
method fh { once open $file } | |||
masak | 'night, #perl6 | 21:41 | |
lizmat | gnight masak | 21:43 | |
timotimo | gnite masak | ||
dalek | kudo/nom: 484e9f7 | lizmat++ | src/Perl6/ModuleLoader.nqp: Use World.DEPRECATED because we now can |
21:46 | |
21:49
colomon joined
|
|||
rjbs | lizmat: nod; my gut feeling is that you're teetering on the fence of "too much code" even then; how often would people mark defaults lazy? if very often, then writing that every time is (a) somewhat obscure for the newbie and (b) a pain, even if it's short | 21:49 | |
I can't predict how often it will be in p6, of course, but can only go by my past experience. And I'm told that my code is idiosyncratic, so who knows. :) | |||
Dist-Zilla$ ack 'lazy +=> +1' lib | wc -l | 21:50 | ||
43 | |||
lizmat | argh, the "once" example actually doesn't work :-( | ||
21:51
raiph joined
|
|||
lizmat | m: class A { method a { once now } }; say A.new.a; say A.new.a | 21:51 | |
camelia | rakudo-moar 6f4c45: OUTPUT«Instant:1432158707.359631Instant:1432158707.359631» | ||
lizmat | ok, will have to sleep on that one... | 21:52 | |
good night, #perl6! | |||
21:58
vytas left
|
|||
brrt | sleep well :-) | 22:00 | |
22:03
vytas joined
22:14
eli-se left
22:23
haroldwu joined
22:24
haroldwu left,
haroldwu joined
|
|||
timotimo | well, yeah, wouldn't the "once" get cloned when the class gets instantiated? | 22:28 | |
m: class A { sub a_value { once now }; method a { a_value } }; say A.new.a; say A.new.a; | 22:29 | ||
camelia | rakudo-moar 484e9f: OUTPUT«Instant:1432160978.207497Instant:1432160978.207497» | ||
timotimo | m: class A { sub a_value { once now }; method a { a_value } }; say A.new.a - A.new.a; | ||
camelia | rakudo-moar 484e9f: OUTPUT«0» | ||
jdv79 | wouldn't the lazy "phaser" do this if it was implemented? | ||
timotimo | it *is* implemented :) | 22:36 | |
well, it was implemented for a few weeks | |||
dalek | osystem: 74dd95b | tony-o++ | META.list: HTTP Server Threaded |
22:41 | |
timotimo | cool | ||
jdv79 | the entry in Actions.pm makes it looks like its not impl | 22:42 | |
timotimo | well, it used to be :) | ||
22:45
brrt left
22:49
dolmen left
22:54
skids joined
|
|||
raydiak | .seen cosimo | 23:00 | |
yoleaux | I saw cosimo 1 Dec 2014 10:37Z in #perl6: <cosimo> connection refused when running panda. known? | ||
raydiak | anyone know cosimo or his plans for his modules? I was about to make a quick PR for String::CRC32, then realized that my last PR for it almost 3 weeks ago went unanswered, as well as my .tell here | 23:16 | |
looks like he doesn't really do p6 stuff this year so far, and I worry that important building blocks like CRC32 and MD5 might go unmaintained while we're pre-release breaking everything, since I have modules which use at least CRC32 already | 23:18 | ||
skids | Well, I've been keeping Sum:: up to date, but it is slow still. | 23:24 | |
And the GLR is likely to require quite some more changes. | 23:25 | ||
raydiak | aye, I was just looking at Sum :) | ||
skids++ | |||
timotimo | MD5? why would that be important? | 23:34 | |
and i would surely not call it a "building block | 23:35 | ||
" | |||
because it's not fit to build anything with any more :) | |||
skids | Yeah should be using SHA2 by now, really. | 23:36 | |
timotimo | aye | 23:37 | |
maybe a bit of keccak | |||
skids | Have not gotten to that quite yet. Really the core math should be a separate lib under Crypto:: namespace because it is for more than hashes. | 23:41 | |
And then just something that uses it from Sum for SHA3. | |||
(and there will be C libs providing the full keccack range of functionality) | 23:42 | ||
Kinda waiting for native shaped arrays on that one. | 23:43 | ||
timotimo | well, we have native arrays at least | 23:47 | |
but you really want 3-dimensionally shaped arrays | |||
23:48
sftp joined
|