Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-12-26

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:20 koo6 joined #perl6
00:26 atroxaper joined #perl6
00:50 gfldex joined #perl6
00:57 * raydiak sees moritz++'s .assuming commit, and wishes again that .assuming skipped positionals w/* as spec^Wdesigned
00:57 yoleaux 25 Dec 2014 11:21Z <FROGGS> raydiak: https://github.com/rakudo/rakudo/commit/​50ff378fb8b3390614fbe28b3b97028daabc548f
00:58 raydiak oh cool
01:00 raydiak m: class Foo { method bar ($a) {say $a} }; my &bar = Foo.^lookup('bar').assuming: Foo; bar "Merry Christmas"
01:00 camelia rakudo-moar 8e5c5e: OUTPUT«Merry Christmas␤»
01:03 jack_rabbit joined #perl6
01:27 KCL_ joined #perl6
01:31 profan joined #perl6
01:32 skids joined #perl6
01:56 vike joined #perl6
02:18 atroxaper joined #perl6
02:19 BenGoldberg m: (^100).pick(*).map: { start { sleep $_; .say } }
02:19 camelia rakudo-moar 8e5c5e: OUTPUT«Could not spawn thread: errorcode -1␤»
02:20 rmgk_ joined #perl6
02:20 BenGoldberg r: Scalar.new = 5
02:20 camelia rakudo-parrot 8e5c5e: OUTPUT«(signal SEGV)»
02:20 camelia ..rakudo-moar 8e5c5e: OUTPUT«Cannot call method 'BUILDALL' on a null object␤  in method bless at src/gen/m-CORE.setting:952␤  in method new at src/gen/m-CORE.setting:941␤  in block <unit> at /tmp/tmpfile:1␤␤»
02:24 BenGoldberg r: my $x = 0;my \x = Proxy.new: FETCH => { $x++; say "[$x]"; return $x };say x; say "DONE"
02:24 camelia rakudo-parrot 8e5c5e: OUTPUT«[1]␤No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤  in any  at gen/parrot/BOOTSTRAP.nqp:1712␤  in sub say at gen/parrot/CORE.setting:16531␤  in block <unit> at /tmp/tmpfile:1␤␤»
02:24 camelia ..rakudo-moar 8e5c5e: OUTPUT«[1]␤Cannot invoke object with invocation handler in this context␤  in sub say at src/gen/m-CORE.setting:16623␤  in block <unit> at /tmp/tmpfile:1␤␤»
02:28 [particle]1 joined #perl6
02:29 nebuchad` joined #perl6
02:32 grim_ joined #perl6
02:32 BooK joined #perl6
02:32 mr-fooba_ joined #perl6
02:33 BenGoldberg nqp-j: nqp::const::asdfwerty
02:33 camelia nqp-jvm: OUTPUT«(signal ABRT)»
02:33 BenGoldberg nqp-j: nqp::const::asdfwerty
02:33 camelia nqp-jvm: OUTPUT«(signal ABRT)»
02:33 BenGoldberg nqp-j: nqp::const::asdfwerty
02:33 camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007f8da401a9f0 ***␤»
02:34 telex joined #perl6
02:36 BenGoldberg nqp-j: say(nqp::mod_i(3,3))
02:36 camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007f6ecc01a9f0 ***␤[thread 140113920362240 also had an error]␤»
02:38 BenGoldberg nqp-m: say(fc("Moar"))
02:38 camelia nqp-moarvm: OUTPUT«Cannot invoke null object␤   at /tmp/TIy6VkfInS:1  (<ephemeral file>:<mainline>:25)␤ from gen/moar/stage2/NQPHLL.nqp:1239  (/home/camelia/rakudo-inst-1/languag​es/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.nqp:1432  (/home/camelia/rakudo-ins…»
02:38 BenGoldberg nqp: say(fc("Moar"))
02:38 camelia nqp-moarvm: OUTPUT«Cannot invoke null object␤   at /tmp/tmpfile:1  (<ephemeral file>:<mainline>:25)␤ from gen/moar/stage2/NQPHLL.nqp:1239  (/home/camelia/rakudo-inst-1/languag​es/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.nqp:1432  (/home/camelia/rakudo-inst-1…»
02:38 camelia ..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007fc35001a9f0 ***␤*** Error in `java': double free or corruption (fasttop): 0x00007fc350009810 ***␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_g…»
02:38 camelia ..nqp-parrot: OUTPUT«Could not find sub &fc␤current instr.: '<mainline>' pc 46 ((file unknown):38) (/tmp/tmpfile:1)␤»
02:40 yubimusubi joined #perl6
02:45 go|dfish1 joined #perl6
02:53 skids So I tried Net::SSH2 via Inline::Perl5 and ran into a snag.  Can't do <$ssh_handle> in perl6 and a Net::SSH2::Channel  P5Obj's .read($buf,$count) method does not alter buf.  Wonder if there is a different way to invoke a read on a P5Object that is an IO.
03:09 skids aha. .READLINE from the tie interface works. \o/
03:23 Ben_Goldberg joined #perl6
03:43 atroxaper joined #perl6
03:43 Mso150 joined #perl6
03:50 noganex joined #perl6
03:52 xinming joined #perl6
03:53 vendethiel joined #perl6
04:03 araujo joined #perl6
04:14 sirdancealot joined #perl6
04:38 autark joined #perl6
05:12 yeahnoob joined #perl6
05:15 atroxaper joined #perl6
05:24 sjdy521 joined #perl6
05:24 sjdy521 ada
05:26 vendethiel joined #perl6
05:40 sirdancealot joined #perl6
05:55 isBEKaml joined #perl6
06:07 mr-foobar joined #perl6
06:23 raydiak since it isn't quite over in my time zone...merry christmas to all, and to all a good night o/
06:38 kaleem joined #perl6
06:56 frew joined #perl6
07:03 adu joined #perl6
07:39 mickcy_ca joined #perl6
07:43 kaare_ joined #perl6
07:57 anaeem1 joined #perl6
07:58 anaeem1_ joined #perl6
08:04 dayangkun joined #perl6
08:09 xfix joined #perl6
08:18 mickcy_ca Does anyone have any idea of a timeline for the Conjectular stuff, and the "not reviewed properly" stuff in http://design.perl6.org/S32/IO.html will be completed?
08:21 FROGGS[tab] joined #perl6
08:21 darutoko joined #perl6
08:22 isBEKaml joined #perl6
08:27 FROGGS[tab] mickcy_ca: lizmat++ is working hard on file io... you can ask her
08:27 mickcy_ca A assume that lizmat++ is not on line here right now.
08:30 mickcy_ca joined #perl6
08:31 mickcy_ca lismat: I am wondering if you have any idea as to a timeline for http://design.perl6.org/S32/IO.html conjectural and "not reviewed properly" items.
08:32 moritz \o
08:32 moritz timelines in #perl6 land are usually "when we get around to it"
08:33 mickcy_ca moritz: I kind of figured that ... was just wondering if anyone had a round-tuit for pipes and sockets
08:34 FROGGS[tab] I did something for pipes recently... but I did not review S32
08:35 mickcy_ca Curious, what was done?
08:35 mickcy_ca I may find it useful for a Perl 6 port I am doing.
08:39 moritz seems like pipe was fixed on the parrot backend
08:42 Akagi201_ joined #perl6
08:48 virtualsue joined #perl6
09:16 vendethiel joined #perl6
09:21 Mso150 joined #perl6
09:22 telex joined #perl6
09:27 rindolf joined #perl6
09:30 dj_goku joined #perl6
09:30 dj_goku joined #perl6
09:34 mickcy_ca moritz:  Sorry went away for a bit, is pipe a built in function?
09:34 FROGGS[tab] yeah, it was about passing cwd and our env hash dowm the pipe :o)
09:34 mickcy_ca Ah.
09:35 FROGGS[tab] and that we get the status code of the child process or so
09:36 FROGGS[tab] and something about the filehandles we want to read from
09:38 mickcy_ca Curious, do you know how to create a Unix Domain Socket?
09:38 mickcy_ca From within Perl 6
09:41 moritz mickcy_ca: pipe is both a sub and a method on IO::Path
09:46 isBEKaml joined #perl6
09:48 dj_goku_ joined #perl6
09:51 rurban joined #perl6
09:58 [Sno] joined #perl6
09:59 zakharyas joined #perl6
10:03 andreoss joined #perl6
10:05 mickcy_ca moritz:  Been reading advent ... Is .pipe an improvement upon the issue that I was having yesterday?  Refresh, pipe opens interfering with File::Find, even though no execution path leads to the statement.
10:05 andreoss perl6-m's repl doesn't work with TERM=dumb
10:06 andreoss repl with any other backend works
10:06 moritz mickcy_ca: no idea
10:06 mickcy_ca <sigh>
10:08 andreoss without supporting TERM=dumb perl6-m repl cannot be used inside emacs properly
10:09 mickcy_ca About Unix Domain Sockets ... I have been doing some reading in S32, and have been left wanting about what I can actually do with them.  IO :: Socket :: INET seems to implement IP networking through sockets, but IO :: Socket itself is a role.  Would I be able to implement my own class that just deals with raw data?
10:10 mickcy_ca andreoss:  That explains why blocking happens on open, but not why the code interferes with File::Find when the open is not even called.
10:10 moritz mickcy_ca: yes; you could probably use NativeCall to call the C functions you need to create the socket
10:11 mickcy_ca YAY, more reading.
10:13 isBEKaml joined #perl6
10:13 mickcy_ca moritz: Do you know if zavlolaj is part of the current Rakudo?
10:13 moritz mickcy_ca: it's not; you can install it with panda
10:14 mickcy_ca Ok.
10:14 moritz mickcy_ca: or use rakudo star (though thta's kinda out of date), which bundles it
10:15 mickcy_ca Would rather be on bleeding edge for up-to-date features and discussion on what really works NOW that need to use panda.
10:15 mickcy_ca I mean, not need to use panda.
10:28 dalek doc: d73ca23 | moritz++ | lib/Type/Supply.pod:
10:28 dalek doc: Add some examples to Supply methods documentation
10:28 dalek doc: review: https://github.com/perl6/doc/commit/d73ca23acf
10:29 vendethiel joined #perl6
10:29 spider-mario joined #perl6
10:30 anaeem___ joined #perl6
10:33 Timbus mickcy_ca, the Socket::INET module was written to simply expose parrot's already-existing socket capabilities to rakudo. the idiot who wrote it was not thinking of a 'real', robust solution which would involve proper bindings to the c sockets library
10:34 Timbus if someone were to make nativecall bindings to such a library.. that would be pretty neat
10:34 hekmek joined #perl6
10:35 mickcy_ca That would be awesome ... better than pretty neat.
10:36 mickcy_ca Unfortunately, I have not programmed in C since college ... many moons ago.
10:36 dalek star: ac97143 | moritz++ | docs/announce/2014.12.md:
10:36 dalek star: 2014.12 draft release announcement
10:36 dalek star: review: https://github.com/rakudo/star/commit/ac97143587
10:37 xfix Perl 6 is neat, but the reality is that people still use COBOL.
10:37 moritz "many moons ago", muhaha
10:37 mickcy_ca LOLOLOLOL
10:39 xfix For example, I checked sample high school exit exam from IT (yeah, I'm still in high school). It has tasks like "count number of distinct character in text s, and return the result r" (also, the task says to assume r < 100).
10:39 xfix You can write the solution in C, C++, Java, or Pascal. The sample solution has obvious buffer overflow, and uses O(N^2) algorithm.
10:40 masak good antenoon, #perl6
10:40 xfix When in Perl 6, I could just write $r = +$s.comb.Set
10:41 moritz \o masak
10:41 moritz feedback on https://github.com/rakudo/star/blo​b/master/docs/announce/2014.12.md very welcome
10:42 xfix (oh, and the sample solution assumes that everything fits in 8-bit)
10:43 xfix I don't understand the point of those stupid exams that don't really require anything.
10:45 mickcy_ca There is really no point to them, except to test your state of mind at the time of the exam.  They do nothing to examine any possibility of future retainment of said knowledge.
10:45 moritz xfix: for somebody who never programmed before, they are a real hurdle
10:45 mickcy_ca moritz: if somebody has never driven before ... same problem.
10:46 xfix They aren't mandatory...
10:46 mickcy_ca Shouldn't take the exam if not prepared.
10:47 mickcy_ca moriz: The announcement looks fine ... can't comment on the content though.
10:48 isBEKaml moritz: s/Varios/Various/
10:49 isBEKaml moritz: I'm not sure about this one - we still have $*DISTRO and $*KERNEL, right?
10:50 dalek star: 576754e | moritz++ | docs/announce/2014.12.md:
10:50 dalek star: fix typo in announcement, isBEKaml++
10:50 dalek star: review: https://github.com/rakudo/star/commit/576754e5b5
10:50 moritz m: say $*DISTRO.name
10:50 camelia rakudo-moar 8e5c5e: OUTPUT«opensuse␤»
10:50 mickcy_ca what is meant by " 'for' remains as it is n"
10:51 mickcy_ca "slurping rest from handle" -> slurping the rest from the handl
10:51 mickcy_ca handle ...
10:52 Timbus i assume that's meant to read:  'for' remains as it is now
10:52 xfix Also, why limit to C, C++, Java, and Pascal.
10:52 xfix Not everybody wants to write code like http://codepad.org/MuOKmHox
10:52 dalek star: 6bfb316 | moritz++ | docs/announce/2014.12.md:
10:52 dalek star: Fix more typos, mickcy_ca++
10:52 dalek star: review: https://github.com/rakudo/star/commit/6bfb316bf7
10:52 xfix When I can just r = len(set(s))
10:56 isBEKaml moritz: maybe it's just me - I read `map` as a function and `Map` as a Key-value data structure. Perhaps it'd be better to say .map when you mean the function and Map for the structure...
10:56 isBEKaml moritz: in the point of 'for' as an alias for 'map'
10:57 moritz isBEKaml: that's why the line begins with "Method"
10:57 isBEKaml moritz: also, since this is a Star release - maybe you could add some notes about new modules added?
10:57 moritz to make it clear that it's not a data structure
10:57 moritz isBEKaml: no new modules added
10:58 moritz isBEKaml: and since module authors usually don't keep changelogs, I can't comment on changes in the modules :(
10:58 isBEKaml moritz: ah, modules.perl6.org repo? :-)
10:58 bjz joined #perl6
10:59 isBEKaml moritz: I don't want to add more work to release maintainers if it's not worth the cost.
11:02 isBEKaml moritz++ # Star release
11:04 dalek json: f21c417 | moritz++ | lib/JSON/Tiny.pm:
11:04 dalek json: Change .map to .for for forward compatibility
11:04 dalek json: review: https://github.com/moritz/json/commit/f21c417951
11:08 mickcy_ca Good night all ...
11:09 mickcy_ca left #perl6
11:11 virtualsue joined #perl6
11:26 vendethiel moritz++#star
11:27 xfix https://gist.github.com/xfix/734b904b95c2052c50b2
11:27 xfix Those are module changes for Rakudo Star.
11:32 moritz xfix: thanks!
11:33 xfix Feel free to include important parts, or something.
11:34 xfix In Rakudo Star 2014.09 displays help like "panda update -- Display information about specified modules".
11:34 xfix Which is wrong description (it's intended to be a definition of "info", not "update").
11:34 dakkar joined #perl6
11:35 moritz looks correct in 2014.12
11:36 dalek star: bb488b7 | moritz++ | docs/announce/2014.12.md:
11:36 dalek star: Include modules changelog, xfix++
11:36 dalek star: review: https://github.com/rakudo/star/commit/bb488b7903
11:37 xfix "library names"
11:37 xfix Sorry, I just fixed that 2 minutes ago.
11:37 xfix (although, I believe there are other misspellings as well)
11:37 xfix (oh well, I don't really know English)
11:38 dalek star: 43e6655 | moritz++ | docs/announce/2014.12.md:
11:38 dalek star: typo, xfix++
11:38 dalek star: review: https://github.com/rakudo/star/commit/43e6655082
11:38 * moritz neither
11:38 xfix There were also some fixes for Rakudo (depreciation notices), but considering they didn't exist in 2014.09, it doesn't matter.
11:39 dalek star: b8f06b8 | moritz++ | docs/announce/2014.12.md:
11:39 dalek star: Mention an incompatible change
11:39 dalek star: review: https://github.com/rakudo/star/commit/b8f06b8fd8
11:43 xfix moritz, by the way, have you got my hack.p6c.org application I sent by e-mail?
11:44 moritz xfix: no, my email account is currently inaccessible; please use moritz.lenz@gmail.com for now
11:44 moritz xfix: and sorry for the hassle
11:44 xfix Oh, okay.
11:45 xfix I sent it to moritz@faui2k3.org, so I guess that's why.
11:46 xfix moritz, sent
11:47 xfix Also, I just realized those packages aren't for Debian Testing.
11:47 xfix Oh well, I can compile fish myself anyway.
11:52 moritz xfix: I haven't got a mail from you yet
11:52 moritz *gotten
11:52 xfix Oh, right, I again put the wrong e-mail
11:52 xfix Argh.
11:52 xfix I sent two mails to wrong e-mail.
11:53 xfix sorry for spam
11:53 xfix moritz, ok, now it should be sent
11:53 xfix I apologize for the issue.
11:56 moritz xfix: account added, have fun!
11:57 xfix Thanks.
11:57 xfix Connected.
11:57 xfix Now I wonder...
11:58 xfix Hm, connected with screen and irssi and default settings, and I see Camelia.
11:59 moritz somtimes, Unicode isn't hard :-)
11:59 xfix With LANG=C, I see >>?<<.
12:00 xfix But with any reasonable LANG, I see Camelia.
12:00 xfix I wonder what issue masak is seeing. (gonna check PuTTy with Cygwin, often this particular SSH client causes problems)
12:02 xfix Right, and PuTTy requires private key files in its odd format.
12:02 moritz puttydefaults defaults to some legacy encoding, iirc
12:02 xfix Yes, I know.
12:03 xfix But I see Camelia in irssi as well.
12:03 xfix Without changing sets (huh?).
12:05 xfix Hm, PuTTy now defaults to UTF-8.
12:07 xfix When forcing ISO-8859-1, I get »ö«
12:07 moritz \o/
12:07 xfix Hm, strange...
12:10 xfix I wonder where the LC variables come from. I know that they come from SSH session, but what if they aren't defined (will run ssh now without environment set).
12:11 xfix env -i ssh hack.p6c.org
12:12 xfix There is /etc/profile, but it says nothing about LANG.
12:12 xfix /etc/default/locale. Ok.
12:14 xfix The only thing I can think of is LC_ALL, but why anyone would set it?
12:16 xfix (and LC_MESSAGE, I guess)
12:17 xfix export LC_ALL=en_US.UTF-8
12:17 xfix Right...
12:18 xfix That explains everything.
12:23 BenGoldberg joined #perl6
12:23 xfix The server has five locales defined - C, C.UTF-8, de_DE.UTF-8, en_US.UTF-8, and POSIX.
12:24 xfix While the old server has 827 locales defined... fun?
12:25 xfix masak, can you run "screen", and in "locale", and paste the output somewhere? I think something odd is going on with environment variables.
12:25 xfix in screen "locale"*
12:43 sergot joined #perl6
12:43 masak xfix: https://gist.github.com/masak/c1ec1b34aad88b5d51c1
12:44 xfix And here we have the issue.
12:44 xfix nb_NO.UTF-8 locale is not installed on hack.p6c.org.
12:44 xfix So, either those have to be replaced, or moritz has to install nb_NO.UTF-8.
12:45 timotimo shouldn't we mention non-blocking i/o to be in progress for moar and jvm, too?
12:45 * timotimo is currently editing the announcement anyway
12:45 moritz sure
12:46 moritz masak: nb_NO.UTF-8 locale generated
12:46 timotimo was that "sure" for me?
12:46 moritz timotimo: sure :-)
12:46 timotimo just wanted to make sure
12:47 xfix masak, if it doesn't work, restart irssi and screen.
12:48 timotimo is the "some module tests fail" part of the JVM version still true?
12:49 dalek star: 1df8fdf | timo++ | docs/announce/2014.12.md:
12:50 dalek star: tiny changes to the announcement
12:50 dalek star: review: https://github.com/rakudo/star/commit/1df8fdfa27
12:50 sergot_ joined #perl6
12:52 xfix Hm, no perl6 binary on a server.
12:52 moritz xfix: https://github.com/perl6/infrastructure-doc/b​lob/master/hosts/hack.p6c.org.pod#rakudobrew
12:53 xfix Ok, neat.
12:53 xfix Shouldn't it be in /etc/profile.d?
12:53 moritz we even have documentation; you'd just have to read it :-)
12:53 moritz no
12:53 moritz since many users want to compiler their own, it would be potentially harmful to have it in the default path
12:53 xfix ok
12:54 xfix Why is .rakudobrew-bash a hidden script?
12:54 moritz timotimo: I'm now testing star-j build
12:55 moritz xfix: mostly inspired by the rakudobrew documentation using .rakudobrew as the default path
12:55 xfix It's intended to be used by users, so IMO it shouldn't have a dot (although, considering that people may already use it, it's probably a good idea to make a link)
12:57 masak joined #perl6
12:57 masak \o/
12:57 masak xfix++
12:57 moritz xfix: linkified
12:57 masak ☺ ☺ ☺ ☺ ☺ ☺ \☺/
12:57 masak oh, that's nice.
13:00 timotimo it seems like indirect method calls are still marked - on the feature matrix
13:01 * timotimo edits
13:01 moritz also a good test to see if updating the feature matrix works from cron
13:01 timotimo oh, could it be that's not about "new Blurb: 1, 2, 3"?
13:03 moritz it's about that, yes
13:03 timotimo m: my $mn = "say"; my $num = 100; $num."$mn"();
13:03 camelia rakudo-moar 8e5c5e: OUTPUT«100␤»
13:03 timotimo that also works, though
13:04 dalek features: 2de106f | timo++ | features.json:
13:04 dalek features: indirect method calls (a la new Foo: 1, 2, 3) work
13:04 dalek features: review: https://github.com/perl6/f​eatures/commit/2de106fad6
13:04 xfix https://github.com/perl6/infrastructure-doc/pull/1
13:04 vendethiel m: sub infix:<<"->">>($a, $b) { $a."$b"; } ; say 5->"succ";
13:04 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Or9wKoyvzL�Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.�at /tmp/Or9wKoyvzL:1�------> [32msub infix:<<"->">>($a, $b) { $a."$b"[33m�…»
13:04 xfix (not sure why I don't have access to infrastructure-doc repository, but whatever)
13:05 vendethiel m: sub infix:<<"->">>($a, $b) { $a."$b"(); } ; say 5->"succ";
13:05 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DMzthByVoa�Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block�at /tmp/DMzthByVoa:1�------> [32m<"->">>($a, $b) { $a."$b"…»
13:05 vendethiel :(
13:06 dalek infrastructure-doc: db019f6 | (Konrad Borowski)++ | hosts/hack.p6c.org.pod:
13:06 dalek infrastructure-doc: Mention the updated rakudobrew-bash path.
13:06 dalek infrastructure-doc: review: https://github.com/perl6/infras​tructure-doc/commit/db019f6eaf
13:06 dalek infrastructure-doc: ec7f273 | moritz++ | hosts/hack.p6c.org.pod:
13:06 dalek infrastructure-doc: Merge pull request #1 from xfix/patch-1
13:06 dalek infrastructure-doc:
13:06 dalek infrastructure-doc: Mention the updated rakudobrew-bash path.
13:06 dalek infrastructure-doc: review: https://github.com/perl6/infras​tructure-doc/commit/ec7f273071
13:07 xfix Also, resource limits. Neat, I remember how often did the build process freeze taking lots of memory making the server unusable, and had to be restarted. I understand that you are expected to use `ulimit`, but it only helps before it happens.
13:07 vendethiel m: sub infix:<<"->>">>($a, $b) { $a."$b"(); } ; say 5->>"succ";
13:07 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/QCMAJF8dWz�Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block�at /tmp/QCMAJF8dWz:1�------> [32m"->>">>($a, $b) { $a."$b"…»
13:07 vendethiel well.
13:08 moritz xfix: you should also have direct push access to the infrastructure-doc repo
13:08 xfix Thanks.
13:08 timotimo vendethiel: are you sure you want " inside the <<?
13:08 vendethiel no.
13:08 vendethiel m: sub infix:<< -> >>($a, $b) { $a."$b"(); } ; say 5->"succ";
13:08 timotimo m: sub infix:<<< ->> >>>($a, $b) { $a."$b"(); } ; say 5->>"succ";
13:08 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/folc1zP8PU�Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block�at /tmp/folc1zP8PU:1�------> [32m< -> >>($a, $b) { $a."$b"…»
13:08 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/xy8yoKJSbs�Missing block�at /tmp/xy8yoKJSbs:1�------> [32msub infix:<<< ->> [33m�[31m>>>($a, $b) { $a."$b"(); } ; say 5->>"su[0m�»
13:08 xfix m: sub infix:["->>"]($a, $b) { $a."$b"(); } ; say 5->>"succ";
13:08 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/KMjyyZbem4�Colon pair value '"->>"' too complex to use in name�at /tmp/KMjyyZbem4:1�------> [32msub infix:["->>"][33m�[31m($a, $b) { $a."$b"(); } ; say 5->>"succ"[0m�»
13:08 xfix Too complex?
13:09 timotimo m: sub infix:<['->']($a, $b) { $a."$b"(); } ; say 5->"succ";
13:09 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/GMP7TUO8aG�Missing block�at /tmp/GMP7TUO8aG:1�------> [32msub infix:<['->[33m�[31m']($a, $b) { $a."$b"(); } ; say 5->"succ[0m�»
13:09 timotimo m: sub infix:['->']($a, $b) { $a."$b"(); } ; say 5->"succ";
13:09 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/puhOcHVdZJ�Colon pair value ''->'' too complex to use in name�at /tmp/puhOcHVdZJ:1�------> [32msub infix:['->'][33m�[31m($a, $b) { $a."$b"(); } ; say 5->"succ";[0m�»
13:09 timotimo hm.
13:09 xfix m: sub infix:«->>»($a, $b) { $a."$b"(); } ; say 5->>"succ";
13:09 camelia rakudo-moar 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/zyW0EokQNr�Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block�at /tmp/zyW0EokQNr:1�------> [32mx:«->>»($a, $b) { $a."$…»
13:09 xfix m: sub infix:«->>»($a, $b) { $a."$b"(); } ; say [->>] 5, "succ";
13:09 camelia rakudo-moar 8e5c5e: OUTPUT«6␤»
13:09 vendethiel ooooh
13:09 vendethiel m: sub infix:<< -> >>($a, $b) { $a."$b"(); } ; say [->] 5, "succ";
13:09 camelia rakudo-moar 8e5c5e: OUTPUT«6␤»
13:09 xfix Hm, so the -> rule triggers before ->>, even with LTM for some reason.
13:10 vendethiel nice :D
13:10 xfix Probably a bug.
13:11 dalek star: 36cc147 | moritz++ | modules/svg-plot:
13:11 dalek star: Update to newer SVG::Plot
13:11 dalek star: review: https://github.com/rakudo/star/commit/36cc147e62
13:13 raydiak \o g'mornin butterflies, camels, etc...
13:13 xfix \o raydiak
13:13 moritz good morning, raydiak lambdafly
13:14 xfix 20GB of RAM and 1TB of hard drive space feels so huge compared to old 3.5GB of RAM and 100GB of hard drive space.
13:15 xfix (we currently use 710MB of RAM, excluding memory cache)
13:17 moritz we are lucky to have so many and so generous donors
13:17 xfix Yes...
13:17 raydiak aye, /me was looking at prices on a server like that
13:17 gfldex joined #perl6
13:17 xfix Even buying 4GB of RAM server costs (I have 1GB of RAM on my own server that is used for stuff).
13:18 moritz raydiak: that one was O(2k EUR)
13:18 raydiak I have half a gig on my vps, but the ssd handles swapping okay to make up for it
13:18 raydiak yep...a bit outside my price range atm :)
13:19 xfix 2k EUR is definitely way too much for me ;-). But that's probably because I'm still a student.
13:19 raydiak oh moritz...this lambdafly can haz hack.p6c.org account?
13:20 moritz raydiak: sure; what username do you want?
13:20 xfix Will have to go now.
13:20 raydiak moritz: can I have "x"?
13:20 raydiak \o xfix
13:20 raydiak alternatively, raydiak works fine :)
13:21 moritz raydiak: I'm not thrilled by 'x' as a user name, so I'll go with raydiak
13:21 raydiak understandable
13:23 kjs_ joined #perl6
13:23 raydiak passwd: Authentication token manipulation error
13:24 raydiak passwd: password unchanged
13:24 moritz huh
13:25 moritz raydiak: that means you entered the old password incorrectly
13:25 raydiak m) right...5 AM here
13:32 andreoss m: my $x := lazy {sleep 1; 10}
13:32 camelia rakudo-moar 8e5c5e: ( no output )
13:32 andreoss why it takes time?
13:33 andreoss why isn't sleep call deferred?
13:35 andreoss s/:=/=/
13:35 moritz andreoss: it's called start { }
13:35 moritz m: my $before = now; start { sleep 2 }; say now - $before
13:35 camelia rakudo-moar 8e5c5e: OUTPUT«0.0075080␤»
13:36 andreoss moritz: start is a Promise, i want just lazy evaluation (i want to defer evaluation until i need this $x )
13:37 moritz andreoss: and that's what a Promise gives you, just call .result when you need it
13:37 moritz andreoss: doing stuff lazily just in a scalar doesn't work out
13:38 moritz andreoss: because the asignment type-checks, and the type check needs a value, for one
13:38 andreoss moritz: Promise will start a thread as I know
13:39 andreoss m: my @x := lazy { gather for 1..10 {sleep $_; $_} }
13:39 camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
13:39 andreoss neither works
13:39 moritz gather already is lazy
13:40 moritz m: my @x := do gather for 1..10 {sleep $_; take $_}; say 'here'
13:40 camelia rakudo-moar 8e5c5e: OUTPUT«here␤»
13:41 andreoss m: my @x := do gather for 1..10 {sleep $_; take $_};
13:41 andreoss why timeout?
13:41 camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
13:42 moritz andreoss: probably something tries to use the return value of your program
13:42 moritz oh
13:42 moritz it's called in sink context, but badly :(
13:45 andreoss i'm trying this stuff in repl, having a second statement on the line somehow prevents eager evaluation
13:45 moritz andreoss: the "P" part of the REPL is to blame here
13:46 moritz andreoss: to print the return value, it has to evaluate it
13:47 moritz http://roaringbitmap.org/ something to use for char classes in regexes?
13:48 andreoss moritz: it should print something else than
13:50 andreoss no lazy scalars in perl6?
13:51 raydiak perl6 -e (no repl) does the same thing...perhaps the return value of the last statement in the program is used for the exit code, in that case
13:52 FROGGS_ unlikely
13:53 raydiak then it's pretty clearly broken
13:54 FROGGS_ m: my @x := gather for 1..10 {sleep $_; take $_};
13:54 camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
13:55 raydiak but
13:55 raydiak m: my @x := gather for 1..10 {sleep $_; take $_}; say 0
13:55 camelia rakudo-moar 8e5c5e: OUTPUT«0␤»
13:55 raydiak but then
13:55 raydiak m: lazy my @x := gather for 1..10 {sleep $_; take $_}; say 0
13:55 camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
13:56 vendethiel raydiak: I think our "lazy" does not do much atm
13:56 raydiak vendethiel: it's clearly doing something here...just the opposite of what is expected
13:56 moritz lazy is just for lists
13:57 raydiak yeah I know I'm using it wrong, that's kinda beside the highly mysterious point, no?
13:57 andreoss btw why no lazy scalars?
13:57 moritz andreoss: I tried to explain earlier
13:58 moritz http://irclog.perlgeek.de/​perl6/2014-12-26#i_9854857
13:58 andreoss moritz: but haskell type-checks too
14:01 andreoss ok. seems i get it
14:01 moritz andreoss: at compile time, yes. Perl 6 must do it at run time
14:02 andreoss i guess though it could be done via some Lazy class, like my Lazy[Int] @x = ...
14:03 andreoss s/@x/$x/
14:05 andreoss left #perl6
14:17 andreoss joined #perl6
14:17 andreoss left #perl6
14:18 timotimo unless someone updated the feature comparison matrix manually, the cron job seems to work
14:19 timotimo can someone comment on "Precedence and associativity of new operators
14:19 timotimo " where the footnote is "still some bugs"?
14:19 araujo joined #perl6
14:19 timotimo and also the "andthen" and "orelse" footnote "missing exception semantics" is (IIRC) wrong
14:19 xfix joined #perl6
14:20 timotimo also, i'd suggest we put a proper footnote onto the +/- of LoL, since we have some LoL support nowadays, even some multi-dimensional-array slicing
14:21 xfix Hm, lazy strings.
14:21 xfix I think that slurp could use lazy strings, but anything else?
14:22 moritz xfix: the main application is reegx matching against streams
14:22 xfix With mmap, slurp could be lazy.
14:23 Rounin joined #perl6
14:27 moritz not from STDIN
14:28 xfix Yes, STDIN is an issue.
14:28 moritz but the bigger issue is really that the grammar engine assumes it knows the length of the input string
14:29 moritz which is very incomatible with streaming
14:32 xfix How to represent size_t in Zavolaj?
14:33 moritz int iirc
14:33 xfix uint, ok
14:40 xfix How can I define ... function?
14:40 xfix int open(const char *path, int oflag, ...);
14:41 vendethiel joined #perl6
14:42 FROGGS[tab] look at zavolaj's readme and examples or tests
14:43 xfix Eh, open won't help me much.
14:43 xfix It needs constants from fcntl.h.
14:44 xfix Perl 5 has them in https://metacpan.org/pod/Fcntl
14:44 xfix And int open() is sysopen function.
14:45 xfix Or I guess, POSIX::open.
14:45 xfix I need POSIX::open in order to implement low level mmap.
14:46 xfix (how else I would get value of O_RDONLY)
14:47 moritz by copinyg it from the source
14:47 xfix Great, but various operating systems have different O_RDONLY.
14:47 moritz or by writing a small C lib that has a function that returns it
14:47 xfix I guess.
14:47 xfix It's probably better to write C wrapper anyway.
14:48 moritz see Inline::Perl5 for an example that such stuff
14:48 xfix How can I make a Perl 6 package that compiles C code?
14:48 moritz see Inline::Perl5 for an example that such stuff
14:48 xfix ok
14:49 xfix Which depends on LibraryMake.
14:49 xfix https://github.com/retupmoca/P6-LibraryMake/
14:49 xfix ok
14:50 moritz which does much of the hard work
14:54 moritz URI::DefaultPort::scheme_port gives a Null Pointer access on the JVM
14:55 moritz and lots of things depend on that (like all the LWP::Simple tests)
14:56 moritz man, testing stuff on r-j is painfully slow
15:04 vendethiel joined #perl6
15:05 khisanth_ joined #perl6
15:08 moritz http://moritz.faui2k3.org/tm​p/rakudo-star-2014.12.tar.gz # release preview
15:09 guru joined #perl6
15:25 dakkar joined #perl6
15:25 virtualsue joined #perl6
15:28 salv0 joined #perl6
15:32 skids \o/ new star.  Now I have something to do today :-) mortiz++
15:32 moritz not yet released, officially
15:32 skids Good enough for me :-)
15:33 skids I don't mind kicking tires.
15:35 itz I'm trying the moar build on FreeBSD/clang
15:36 * masak .oO( is it called "clang" because the error messages are so noisy? ) :P
15:37 xdbr joined #perl6
15:37 xfix What am I doing wrong? I have my sub p6_open(Str $path) returns int32 { * }, and my int32 $fd = p6_open $path;
15:37 xfix And I get "This type cannot unbox to a native integer" error.
15:38 xfix $path is Str.
15:38 itz I notice clang is quite slow for one or two files in moar as well
15:39 TimToady yes, interp is triggering some kind of O(N^2) or so
15:43 raydiak m: END say my $a; END $a = 'mildly surprising';
15:43 camelia rakudo-moar 8e5c5e: OUTPUT«mildly surprising␤»
15:44 TimToady looks fine to me :)
15:44 xfix ok, dealt with the issue
15:44 raydiak why do END blocks run in FILO order?
15:47 xfix How can I get file length?
15:47 moritz $path.IO.s
15:47 xfix thanks
15:49 colomon joined #perl6
15:49 moritz it's really hard to operate services on the public Internet and not becoming paranoid
15:50 raydiak raydiak: because S04 says so
15:51 xfix moritz, I agree.
15:51 xfix Everything tries to attack you.
15:51 xfix Oh wait, it's just you concerned about services running in the background.
15:54 xfix Odd... open system call returns -1, and I don't know why. Checking errno shows "No such file or directory", even if the file exists.
15:54 xfix (hm... strace perhaps?)
15:56 xfix open("/etc/passwd", O_RDONLY)           = 13
15:56 xfix hm...
15:56 xfix Looks correct for me...
15:57 TimToady raydiak: in particular, S04:1502
15:57 synopsebot Link: http://perlcabal.org/syn/S04.html#line_1502
15:58 TimToady oh, wait, that was you talking to yourself, so you already found it
15:58 raydiak TimToady: me and I are still arguing about why, though
16:01 * raydiak find moritz's paranoia contagious, opens auth.log to soothe himself, and sees chinese scriptkiddies trying to brute-force his root password
16:04 TimToady raydiak: it's because earlier declarations tend to be more generic and later ones are more specific, and usually setup and teardown want to happen in the opposite order
16:05 itz apt-get install fail2ban
16:06 raydiak fail2ban++ ...been a long time since I needed to worry about it, mostly the probing scripts stumble blindly past my non-standard ssh port (which is no actual security, granted)
16:07 itz the new standard non-standard port is 2222 ;)
16:08 xfix I use different SSH port on my server, because bots trying to access bother me, but considering that the SSH is intended to be publicly available here, well, fail2ban in my opinion.
16:08 * raydiak is ahead of the standard curve :)
16:08 xfix (on my server, SSH port is 98)
16:08 raydiak 10022 here
16:12 skids I just pick good passwords and don't worry about it.  If I'm being especially paranoid I'll set up the tarpitting.  If I worried about all the doorknob twists in my line of work I'd go crazy.
16:13 dalek specs: c6e6ed4 | TimToady++ | S04-control.pod:
16:13 dalek specs: clarify tiebreaking for phasers
16:13 dalek specs: review: https://github.com/perl6/specs/commit/c6e6ed443f
16:16 raydiak TimToady: that makes total sense; it just feels a little less "procedural" than I was thinking at the moment
16:16 raydiak but then that's what phasers do
16:16 timotimo so ... what is the @autovivs argument to bless and BUILDALL and friends for again?
16:17 TimToady never heard of it
16:18 xfix Ok, mmap could be tricky because of how Perl 6 interpreter currently does stuff with strings it doesn't even have to.
16:18 timotimo it takes a hash of "attrinit" and an array "autovivs" that is not used inside the function any more
16:18 xfix Whatever, it doesn't matter.
16:18 timotimo maybe it's what the * argument to bless was supposed to be for?
16:19 moritz timotimo: it has something to do with the autovivification chain in things like  my %h; %h<a>[0] = 42
16:19 timotimo oh, hmm
16:19 xfix I created a neat native code library, so...
16:19 TimToady I'd think those would keep their own chain rather than be passed explicitly
16:19 xfix And root is reading /var/log/auth.log in meantime.
16:20 raydiak S12:818 mentions "These are used to initialize superclasses."
16:20 synopsebot Link: http://perlcabal.org/syn/S12.html#line_818
16:20 TimToady that is, when you generate a WHENCE, it knows if it has dependencies already, I'd think
16:20 moritz somehow fail2ban doesn't do anything here :(
16:21 timotimo oh, right, that's a NYI thing
16:21 TimToady I don't know why object construction would get involved with autoviv
16:21 timotimo that's probably not even parse yet?
16:22 Vlavv joined #perl6
16:22 xfix moritz, because this is not how fail2ban works.
16:22 TimToady well, in the case of %h<a>[0] you can know at compile time that you have to autoviv .<a>, so you don't really need the WHENCE for that
16:22 xfix Rather, fail2ban checks SSH server logs, and bans IP that try to access too much.
16:23 TimToady WHENCE is more like for passing not-yet-existing entries to an rw parameter that might assign to it
16:23 TimToady when you can't know statically that it will happen
16:24 masak hm. if BEGIN blocks don't fire in quasis, then probably macros shouldn't either...
16:24 masak I really need to read those anaphoric things vendethiel++ sent me.
16:24 xfix moritz, how it IP bans, you should ask. Well, it uses iptables. Is iptables enabled?
16:24 TimToady lazy macros, who'd've thunk
16:25 moritz xfix: it is, and I'm pretty sure it used to work
16:25 moritz xfix: and a tail -f /var/log/fail2ban.log showd the banning and unbannings
16:25 moritz xfix: and now that log file doesn't show anything anymore
16:25 xfix Hm, odd.
16:26 raiph joined #perl6
16:26 xfix (I've to admit I've never installed fail2ban)
16:26 masak well, we need some consistent rule for figuring out what fires at parse time inside of a quasi and what doesn't.
16:26 masak it's increasingly clear to me that quasis are "detached" in some sense, and that I/we have disregarded that up until now.
16:26 masak though D4 is quite a bit about that.
16:27 TimToady in my mind it falls under "accidental genericity" that needs to become intentional
16:27 masak *nod*
16:28 xfix moritz, what does iptables -L list?
16:28 xfix Oh, right, there is no iptables.
16:28 masak another insight while tinkering with stuff here in the background: we need to enable/push/cherish both ways to generate code-as-objects: the synthetic way using constructors, and quasis.
16:28 xfix (oh wait... I forgot it's Debian with /sbin)
16:29 moritz xfix: https://gist.github.com/mo​ritz/4af1c8b05296e9ed44d3
16:29 xfix Yeah, it bans.
16:29 moritz xfix: I've banned three IPs manually from the INPUT chain
16:29 xfix Oh.
16:29 moritz and fail2ban would put them in fail2ban-ssh chain
16:29 * TimToady is inclined to think that most people will expect BEGIN and macros to retain ASAP semantics by default, and maybe delayed evaluation should be explicit
16:30 TimToady unless we outlaw ASAP entirely
16:30 TimToady (in macros)
16:30 timotimo damn, generating a method's body with QAST is kind of hard if you don't have access to a $*W to .attach_signature, .finish_code_object and also reference_to_code_object with ...
16:30 xfix By the way, reminds me of one thing.
16:30 xfix Yeah.
16:30 xfix Figured out the issue.
16:30 * moritz is inclined to agree TimToady++, and masak++ might be a bit biased due to having the implement that stuff
16:31 xfix moritz, open /etc/ssh/sshd_config, change log level to VERBOSE, and restart SSHD.
16:31 masak well, I'm not *sure* either way yet.
16:31 TimToady moritz: which falls under a different principle :)
16:31 masak I do want some kind of consistency. but it's not clear to me yet what that should be.
16:31 TimToady just sayin' what a user probably expects, which is not necessarily what makes sense
16:31 moritz xfix: but auth.log already shows the failed login attempts
16:31 masak *nod*
16:31 xfix moritz, does it show IPs?
16:32 masak I can see the case for having BEGIN blocks fire ASAP.
16:32 TimToady masak: consistency tends to work against TMTOWTDI though :)
16:32 moritz xfix: yes
16:32 moritz xfix: that's where I got the IPs from that I banned :-)
16:32 skids .oO(ouch failtoban edits rules?  should really use an ipset instead.)
16:32 moritz Dec 26 17:21:41 hack sshd[15178]: Failed password for root from 122.225.109.208 port 53126 ssh2
16:32 masak TimToady: if I synthesize a BEGIN block, should it fire at macro expansion time?
16:32 TimToady maybe we need macro phasers
16:32 TimToady since macros have phases
16:32 masak no, I really don't think we need macro phasers.
16:33 masak but I can see how people might think we do :)
16:33 moritz raydiak++ # using IPv6
16:33 moritz masak: doesn't the macro body already run at macro expansion time?
16:33 vendethiel joined #perl6
16:33 masak what I would like, however, is to our extant phasers to make sense with and be maximally useful with macros.
16:33 xfix Oh, right, this is Debian.
16:33 moritz that kinda makes BEGIN blocks in the generated code a bit superfluous
16:34 masak moritz: they do. it depends.
16:34 xfix With lots of different patches, like putting failed authorizations in SSHD.
16:34 masak moritz: think about an unhygienic variable, which you want to debug-print during BEGIN time.
16:34 masak moritz: the only way to do that would be to put the BEGIN in the quasi, and then have it fire at expansion.
16:35 moritz masak: or you could just print $COMPILING::<$varname> in the macro body, no?
16:35 TimToady it seems to me that you really want a phaser for the time you're instantiating the tree
16:35 xfix Hm...
16:35 xfix ^%(__prefix_line)sFailed \S+ for .*? from <HOST>(?: port \d*)?(?: ssh\d*)?(: (ruser .*|(\S+ ID \S+ \(serial \d+\) CA )?\S+ %(__md5hex)s(, client user ".*", client host ".*")?))?\s*$
16:35 xfix This is a regex that fail2ban uses in order to determine host.
16:36 masak TimToady: that sounds too specific to me.
16:36 raydiak moritz: wait, I am? :)
16:36 TimToady or the tree-walker that you have to have anyway can see a BEGIN, and instantiate it, since a normal quasi BEGIN would already have disappeared itself from the tree
16:36 masak the case for other phasers inside quasis is much easier to make out.
16:36 xfix Hm, should match...
16:36 masak like CHECK and END.
16:36 moritz raydiak: auth.log says so
16:37 masak the problem with BEGIN is that we now have two likely candidates for when it should fire: ASAP at parse-time, and at splice time.
16:37 raydiak who --ips shows ipv4 addresses for both home and my vps
16:38 TimToady masak: ^^^ what I was talking about above
16:38 masak with synthetic Qtrees, there may not even be a parse-time.
16:38 masak TimToady: yes, I'm thinking about tree-walkers too.
16:38 TimToady a constructed BEGIN won't be visible to the parser, and a parsed BEGIN won't be visible to the tree
16:39 TimToady so I don't think there's really a problem here
16:39 masak I definitely think Qtrees still have BEGINs in them.
16:39 masak they are parts of the program structure that you might want to analyze and reason about.
16:39 TimToady as long as the tree walker processes any BEGINS it sees, it won't see any that happened in the parser
16:39 masak saying that BEGINs melt away is a bit like saying class declarations melt away. they don't.
16:39 TimToady because the parser just inserts the *results* of the BEGIN into the tree
16:40 TimToady well, even if there is residue, it can be marked as evaluated
16:40 masak hm.
16:40 masak yes, maybe something like that is necessary.
16:40 * masak .oO( exhausted BEGIN )
16:42 moritz let's rename it EXHAUST :-)
16:42 TimToady .oO(Render unto Parser the things that are Parser's, and unto AST the things that are AST's...)
16:44 * TimToady is not sure whether he needs more coffee or not...
16:45 xfix moritz, http://www.fail2ban.org/wiki/index​.php/FAQ_english#Fail2ban_is_runni​ng_but_not_banning_SSH_bruteforce
16:45 xfix Perhaps this is what is happening.
16:47 moritz xfix: oh, I changed the timezone from GMT+1 to UTC
16:48 xfix Restart syslogd.
16:48 xfix So it will see timezone change.
16:49 moritz xfix++
16:52 TimToady masak: here's another thing, an infix macro has to be able to handle a QAST argument for the left side, even if the right argument can be told to parse to a Qtree
16:52 xfix (that's probably why it took me a while to figure it out... my server is Fedora server with systemd, and here timezone can be simply switched with timedatectl, so I never had such issues)
16:53 TimToady so either the left arg is opaque, or you need some way to make it look isomorphic to a Qtree
16:53 xfix (I actually wonder when Debian will have systemd)
16:53 masak yes, there needs to be fast lanes built between a "parse view" and a "Qtree view" of things.
16:53 moritz xfix: debian jessie has systemd
16:53 moritz xfix: ... which is what hack.p6c.org uses :-)
16:53 TimToady masak: but can they be sufficiently isomorphic?
16:53 moritz xfix++
16:54 masak TimToady: not sure. not completely, no.
16:54 masak TimToady: synthetic Qtrees have no parse view.
16:54 masak there's also a "value view", the result of evaluating either a piece of program text or a Qtree.
16:55 TimToady well, that's what a BEGIN does, basically
16:55 masak sort of, yes.
16:55 masak at least from the point of view of the runtime.
16:56 TimToady your other ploy is to rewrite the P6 parser to all use Qtrees, then we translate that lower-level stuff as necessary :)
16:57 TimToady maybe that's something to think about when we get a complete bootstrap
16:57 TimToady of course, arguably most of the infelicities we have in QAST are necessary due to circularity sawing
16:58 masak last time I mentioned that as a (frightening) maybe-necessity, I was met by surprisingly favorable reactions by you and moritz :)
16:58 masak s/by/with/
16:58 TimToady well, it's a long-term goal to replace Grammar.nqp with STD.pm6 or so
16:58 masak I think Qtree should remain experimental for a while yet, but as it starts to prove itself, we should also consider the bootstrapping angle.
16:58 TimToady but for now, portability is an important consideration
16:59 masak a Perl 6 resting on Qtree would be awesome indeed.
16:59 TimToady enough so that I'm willing to delay the full bootstrap
16:59 masak *nod*
16:59 TimToady it's not necessary for 6.0.0
16:59 TimToady so maybe we punt on infix macros before full bootstrap as well
17:01 masak I may regret I said this, but I don't see infix macros as being particularly hard, once we have technology like the 'is parsed' of http://strangelyconsistent.org/blog​/macros-allowing-two-terms-in-a-row 's "Implementation" section.
17:01 * TimToady is trying to kill "is parsed" though
17:02 masak allowing 'is parsed' macros to remain AST-y and participate in Perl 6 grammar parsing is important, I think.
17:02 masak I don't care much about textual 'is parsed'.
17:02 masak (mostly because I don't see it as very well-defined, but more like a wish fulfillment kitchen sink)
17:04 TimToady "is parsed" is only tenuously associated with the current language, is the big problem, and not just in terms of the current cursor, but also in terms of "syntactic category theory"
17:04 masak right. if there are rules about how that happens, they are unstated as far as I know.
17:05 TimToady that's why I'm mostly thinking of macros as "slang regex { <stuff> { make quasi {...} } }" these days
17:05 TimToady or something like that
17:05 araujo joined #perl6
17:05 TimToady the categories fall out of how you name the regex
17:06 TimToady and the grammar derivation is implied by the 'slang'
17:06 TimToady 'is parsed' says nothing about deriving a new grammar, which is another problem
17:07 TimToady well, it could be force, but it would rather...forced...
17:07 TimToady *forced
17:07 FROGGS_ what if you want to change the 'stopper', how do I say that I want to mess with the stopper from QRegex and not from MAIN?
17:07 mr-foobar joined #perl6
17:08 TimToady FROGGS_: good question
17:08 TimToady MAIN makes sense as the default, but it can merely be the degenerate case
17:08 FROGGS_ and when I think about the v5 slang... what if I want to mess with tokens/actions of the v5 slang from the outside... (before I switch to it (again))
17:10 TimToady I'd guess that whatever mechanism underlies 'slang' poking MAIN, needs to be made visible as a meta-grammar-poke-this-in-there thingie
17:10 FROGGS_ feels more like: augment $~Perl5 { token .... }; augment $~Perl5-actions { method .... }
17:10 FROGGS_ yeah
17:10 TimToady yes, that's more like the original slang proposal
17:11 FROGGS_ m: say $~MAIN
17:11 camelia rakudo-moar 8e5c5e: OUTPUT«Slang.new(:grammar(Perl6::Grammar), :actions(Perl6::Actions))␤»
17:11 TimToady but maybe not so fancy as all that
17:11 FROGGS_ we've got that at least nowadays
17:11 TimToady once you can name other braids, you can just poke 'em with a function somehow
17:11 TimToady at BEGIN time
17:12 TimToady so maybe slang poking is just a macro
17:12 TimToady ('just', he sez...)
17:15 TimToady or just stick with BEGIN $~QRegex = Slang.mixin: role MyStopper { regex stopper {...} }
17:15 TimToady BEGIN $~QRegex does ...
17:16 FROGGS_ true, the currently working mixin approach is kinda neat, I mean, it works and all :o)
17:16 TimToady or BEGIN $~QRegex but= ... if you want to make sure it's not in place
17:16 FROGGS_ we shall sugar coat that at some point
17:16 TimToady well, but handling the delegation to the grammar somehow
17:18 * TimToady wonders if a Slang object is the right way to associate a grammar with its actions, or whether the actions should just be poked into the invariant part of the cursor
17:18 vendethiel joined #perl6
17:18 TimToady in fact, we should eventually look into a way to avoid the double dispatch to the rule and then to the actions
17:19 FROGGS_ well, actions are kind of pluggable... so there can be use cases for 1:n relationships during a programs lifetime
17:19 TimToady that's why I said poke it into the cursor, not into the grammar
17:19 FROGGS_ or perhaps, one could even want to parse once, and act twice or more
17:20 aghbas joined #perl6
17:20 moritz FROGGS_: that way lies madness
17:20 masak here's another very recent AST format to learn from: http://engineering.shapesecurity.com/2014​/12/announcing-shift-javascript-ast.html (hat tip to raiph++)
17:20 TimToady but efficiency wants the actions to act as wrappers for the rules, eventually, with appropriate inlining
17:20 FROGGS_ moritz: I am not thinking about programming languages here, more about json or similar
17:22 TimToady most parsing systems seem to want to get away from the match tree as quickly as possible
17:22 TimToady and AST have their own tree-walking after that
17:22 TimToady *s
17:22 moritz yes, parse trees are rather specific, and when you're too far away, you don't know how to interpret stuff anymore
17:23 masak I do wish that the greatest discussions we have on macros here wouldn't also be very scary
17:23 masak :P
17:24 xfix (I don't really understand the discussion... but I guess it's because macros are complex)
17:24 TimToady .oO(how's that synthetic Qtree gonna avoid LTA errors, eh?)
17:25 TimToady xfix: Do you see yon Celestial City?  No?  Well, then, do you see yon Wicket Gate?
17:25 TimToady sorry, Pilgrim's Progress allusion there...
17:26 TimToady our poor pilgrim masak++ is trying to get to the wicket gate, and I keep hyping the celestial city :)
17:35 masak that's about the size of it
17:36 masak on the face of it, Qtree splicing is a much less constrained action than writing a corresponding program fragment in text.
17:37 masak I'm pretty sure splicing will need a "consistency check" of sorts. basically a "docking operation" between things inside the Qtree and its new-found context.
17:37 masak "you can't declare that -- already declared in this context". would be awesome enough.
17:38 masak of course, I'd expect a good error report to contain line-and-file for *both* the point in the quasi (if any) and the macro expansion site.
17:45 sirdancealot joined #perl6
17:46 masak moritz: it's not necessarily easier to defer BEGIN blocks running ASAP. they already run ASAP, even in quasis, and that's the implementation that requires zero amount of code.
17:47 moritz masak: then sorry my wrong assessment
17:47 masak moritz: I'm exploring the alternative approach to see if it scores higher on usefulness and consistency. my goal isn't to avoid work as an implementor -- but I do hope we can avoid spec'ing extra things that make Perl 6 look as if it were designed by committee.
17:47 masak "maybe we need more phasers" smells highly of committee to me.
17:48 masak at least to a first approximation.
17:52 xfix moritz, I cannot modify infrastructure-doc.
17:52 dalek nqp: 5c9ffcf | TimToady++ | src/ (2 files):
17:52 dalek nqp: add a note function, use it some
17:52 dalek nqp: review: https://github.com/perl6/nqp/commit/5c9ffcf30a
17:53 vendethiel masak: have you started reading the book :)?
17:53 xfix - nqp::printfh(nqp::getstderr(),"$indent mergesubrule $name start $start to $to fate $fate\n") if $nfadeb;
17:53 xfix + nqp::printfh($err,"$indent mergesubrule $name start $start to $to fate $fate\n") if $nfadeb;
17:54 xfix Why note function is not used here?
17:54 moritz xfix: try again pelease
17:54 xfix works
17:54 dalek infrastructure-doc: 3ef0b6d | (Konrad Borowski)++ | hosts/host08.perl6.com (2 files):
17:54 dalek infrastructure-doc: Make host08.perl6.com render as a POD.
17:54 dalek infrastructure-doc: review: https://github.com/perl6/infras​tructure-doc/commit/3ef0b6d35a
17:55 moritz xfix: probably because note() doesn't cache stderr
17:57 masak vendethiel: not yet. I'm still on Lisp In Small Pieces, which arrived first.
17:58 TimToady my assumption is that nqp::getstderr() is slower than a variable access, but I could be wrong about that
17:59 TimToady getstderr just pulls it straight out of the thread context
17:59 timotimo TimToady: i could put a tiny thing into spesh to turn getstderr into a direct constant pointer copy or something :)
18:00 virtualsue joined #perl6
18:00 TimToady well, arguably it should really depend on $*ERR rather than merely being thread local, but it's not really a constant
18:01 timotimo are we interested in that in nqp?
18:01 skids joined #perl6
18:03 TimToady well, when p6 is relying on nqp semantics, and nqp semantics are wrong-ish, then we've got a distortion in the semantic model
18:03 TimToady not saying p6 is doing that in this case
18:03 timotimo oh, you mean something in nqp that uses note() should honor $*ERR if it was called from perl6
18:03 timotimo that's totally reasonable
18:03 TimToady the debugging obviously belongs to nqp here
18:04 TimToady if p6 used nqp's not to implement its own note, it would be wrong, is what I'm sayin'
18:04 TimToady *note
18:04 xfix It's clearly a debugging feature (because clearly, printf is best debugger... there is a reason why Ruby has `p` function)
18:06 TimToady certainly we're still getting semantic distortions of that nature because we're relying on nqp's regex/grammar implementation for most of p6's
18:07 TimToady which is why we would like to get to full bootstrap someday, eventually
18:08 timotimo if rakudo gets fast enough that a rakudo written in pure perl6 is feasible, i'll be a happy camper
18:08 TimToady but our optimization of p6 code needs to approach the efficacy of nqp code
18:09 TimToady well, obviously you'll always need circularity saws somewhere
18:09 TimToady but yeah
18:09 * timotimo wanted to get started - at least a tiny bit - on creating a method from a BUILDALLPLAN/BUILDPLAN rather than using the array for it ... didn't get far :(
18:10 Mso150 joined #perl6
18:17 masak another unresolved tension I need to think about: Qtrees resolve to model the program text as it is at author time. (this was my argument earlier for BEGIN blocks still being represented)
18:18 masak and yet, macros expand macro calls at the Qtree level, producing something new that wasn't there in the text.
18:18 masak can't have it both ways.
18:19 TimToady not without a discriminant of some sort, nope
18:35 skids r: class F { multi method p ($self where {True}: $foo) { } } # used to work.
18:35 camelia rakudo-{parrot,moar} 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Invocant colon not allowed here�at /tmp/tmpfile:1�------> [32m F { multi method p ($self where {True}:[33m�[31m $foo) { } } # used to work.[0m�»
18:43 TimToady that's funny, should be limiting that expression to tighter than comma
18:44 TimToady I guess it's failing too early
18:45 mvuets joined #perl6
18:48 vendethiel joined #perl6
18:51 BenGoldberg joined #perl6
18:59 Mso150 joined #perl6
19:03 dalek rakudo/nom: 32c6e44 | TimToady++ | src/Perl6/Grammar.nqp:
19:03 dalek rakudo/nom: signatures are also allowed to have invocants :)
19:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/32c6e44a43
19:03 TimToady skids++
19:07 skids r: class F { multi method p ($self where {True} is ro: $foo) { } } # would be a workaround, but does not work in star12 preview
19:07 camelia rakudo-{parrot,moar} 8e5c5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Missing block�at /tmp/tmpfile:1�------> [32m F { multi method p ($self where {True} [33m�[31mis ro: $foo) { } } # would be a workarou[0m�»
19:07 skids oh, huh.
19:07 skids nevermind.
19:08 moritz http://rakudo.org/2014/12/26/anno​unce-rakudo-star-release-2014-12/
19:08 moritz IWBN if somebody else could send the announcement mail; my primary email account (which is subscribed to these lists) is currently unavailable :(
19:13 FROGGS joined #perl6
19:15 raydiak hm trying to clone a git repo on hack is coming in at like < 100 KiB/s?
19:17 moritz raydiak: from github?
19:18 raydiak moritz: yeah whatever comes in from rakudobrew build moar
19:18 raydiak swung up eventually, averaging around 150 or 200 now
19:19 moritz raydiak: I'm cloning perl6/mu now, at 3 MiB/s
19:19 raydiak oh, maybe that's why :)
19:19 moritz raydiak: no, I started after you, just to check if I can reproduce :-)
19:19 raydiak no idea, but everything it's cloning is crawling
19:20 raydiak I haven't done anything abnormal to my account yet even!
19:20 xfix Only one person uses the internet.
19:20 xfix And it's used by 'git'... hm...
19:20 xfix (well, and another for irssi, but that shouldn't have used too much bandwidth)
19:21 raydiak heh it's still trying to get through the 2nd clone in the process
19:22 FROGGS jnthn: halp
19:22 FROGGS jnthn: I am going nuts (I'm hacking the codegen for while/until loops)
19:23 * moritz sends FROGGS++ a nutcracker
19:23 xfix Hm, git is running 13 minutes now.
19:28 raydiak afk, back in a few
19:28 FROGGS jnthn: it is this and I don't get the error message: https://gist.github.com/FR​OGGS/98e1a97434c3753dc081
19:29 vendethiel joined #perl6
19:29 FROGGS jnthn: line 28 in the gist triggers it btw
19:29 TimToady .oO(I thought moritz had already proven he can reproduce...)
19:30 moritz :-)
19:30 temp-name joined #perl6
19:31 flussence joined #perl6
19:31 temp-name Just grabbed the R* 2014-12 tar.gz. The readme still says "2014.09" at the top.
19:31 moritz :(
19:31 moritz temp-name: thanks for telling
19:31 temp-name y/w!
19:32 moritz does that warrant a point release?
19:32 FROGGS why do we hesitate to just replace that tarball?
19:32 moritz FROGGS: cause it's not the version I tagged
19:33 FROGGS ahh, okay
19:33 moritz FROGGS: though I guess that shouldn't stop me
19:33 dalek star: 700fde6 | moritz++ | README:
19:33 dalek star: fix version, temp-name++
19:33 dalek star: review: https://github.com/rakudo/star/commit/700fde6976
19:33 moritz oh what the hell
19:34 FROGGS you can even move the tag, because I bet not more than three peeps pull that repo regularly
19:34 moritz FROGGS: I've done that once, and have reason to never do it again :(
19:34 moritz tarball updated
19:35 FROGGS okay :o)
19:35 FROGGS moritz++
19:35 moritz I once accidentally switched year and month of a release tag
19:35 moritz 2011.10 instead of 2010.11, or something like that
19:36 FROGGS ahh, I remember
19:36 raydiak back
19:36 moritz and a year later, it made us trouble because some folks had the old tag, and 'git describe' produced inconsistent numbers
19:36 FROGGS yes, I think I made the release that year after
19:37 FROGGS at least I remember having trouble with a release tag like that
19:37 mathw hello!
19:37 FROGGS hi mathw
19:37 moritz \o mathw, raydiak
19:38 * mathw is confused
19:39 FROGGS sure, why not :o)
19:40 mathw if I call ncurses' getch() function from Perl 6 via NativeCall, it returns immediately
19:40 mathw the value it returns is 4294967295
19:40 * FROGGS .oO( I'm puzzled and LEGO'd )
19:40 mathw this is very suspicious
19:41 FROGGS mathw: how does your getch sub look like?
19:41 moritz m: say 4294967295.base(16)
19:41 camelia rakudo-moar 32c6e4: OUTPUT«FFFFFFFF␤»
19:41 moritz -1?
19:41 mathw yeah
19:41 mathw it's an error code I just wish I knew why it's an error :(
19:41 geekosaur at a guess, the fd is set nonblocking
19:41 geekosaur and the error is EAGAIN
19:42 temp-name left #perl6
19:42 FROGGS "The getch, wgetch, mvgetch and mvwgetch, routines read a character from the window. In no-delay mode, if no input is waiting, the value ERR is returned. In delay mode, [...]"
19:42 moritz "not again" :-)
19:43 mathw :)
19:43 TimToady m: class F { multi method p ($self where {True}: $foo) { } }
19:43 camelia rakudo-moar 32c6e4: ( no output )
19:43 FROGGS ossum
19:44 skids TinToady++
19:44 skids oops.
19:44 * TimToady looks for his tin snips
19:44 skids Oh well TimToady++ doesn't need karma anyway :-)
19:45 skids .oO(There are no ways to do it)
19:46 moritz hey, I never realized how composable that nick is. ZincToady and all that :-)
19:46 TimToady not to mention TimFroggy
19:46 FROGGS :D
19:46 FROGGS +1
19:47 skids .oO(Ambiguous dispatch -- there are too many ways to do it.)
19:47 FROGGS mathw: btw, I'd let the getch reuturn an int32 fwiw
19:47 FROGGS return*
19:49 mathw hehe yes that comes out as -1 :)
19:49 FROGGS_ joined #perl6
19:49 FROGGS[tab]_ joined #perl6
19:50 mathw right
19:50 mathw yes it's definitely in non-blocking mode on the getch
19:50 mathw unfortunately the way I've found to tell it to be in blocking mode... doesn't work
19:50 mathw and I know, this is not the channel really to ask about ncurses, but I can't ask my parents because they'll look at me like I've gone made
19:50 mathw mad*
19:51 TimToady well, but you have
19:52 mathw I suppse so. I *am* using ncurses after all
19:52 mathw I'm open to alternatives...
19:53 TimToady don't look at me for answers; I'm madder than you are
19:53 TimToady I use raw ANSI sequences
19:53 mathw That sounds... joyous
19:53 FROGGS_ aye, he's almost like Mad Eye :P
19:53 vendethiel joined #perl6
19:54 mathw Besides, what I'm doing rather benefits from the demonstratedly working binding to an annoying native library
19:54 mathw This is going to be for a talk
19:54 mathw ...assuming I can make it work!
19:54 FROGGS_ mathw: I'd propose you just live with the fact that you get a -1 aka ERR when there is nothing to read, and go on in your event loop
19:55 mathw FROGGS_: unfortunately I really want a blocking read
19:55 FROGGS_ ahh, hmmm
19:55 FROGGS_ :/
19:55 mathw I could just spin around it. That's battery-efficient, right? :D
19:56 xfix And I use set_color.
19:57 xfix set_color f54; echo lightred
19:57 FROGGS_ mathw: you could port POE or AnyEvent or whatever is popular from P5 :o)
19:58 xfix Until you realize that because of Rakudo quirks, it's completely pointless, as everything is copied thrice.
19:58 xfix (I realized that after porting Sys::Mmap)
20:03 raydiak moritz: still no idea what is going on, but cloning from github is slow while cloning from my own server works fine (both over ssh)
20:05 mathw What's the idiomatic way of doing custom constructors for objects - particularly ones with compulsory parameters
20:09 mathw ah, found it
20:11 raydiak m: class Foo { has $.bar; submethod BUILD (:$.bar!) {}; }; Foo.new(:bar).say; Foo.new.say;
20:11 camelia rakudo-moar 32c6e4: OUTPUT«Cannot find method 'STORE'␤  in submethod BUILD at /tmp/fHoOMhrq8j:1␤  in method BUILDALL at src/gen/m-CORE.setting:970␤  in method bless at src/gen/m-CORE.setting:952␤  in method new at src/gen/m-CORE.setting:941␤  in block <unit> at /tmp/fHoOMh…»
20:11 raydiak m: class Foo { has $.bar; submethod BUILD (:$!bar!) {}; }; Foo.new(:bar).say; Foo.new.say;
20:11 camelia rakudo-moar 32c6e4: OUTPUT«Foo.new(bar => Bool::True)␤Required named parameter 'bar' not passed␤  in submethod BUILD at /tmp/e3mfm4wS7x:1␤  in method BUILDALL at src/gen/m-CORE.setting:970␤  in method bless at src/gen/m-CORE.setting:952␤  in method new at src/gen/m-CORE.se…»
20:17 _sri why is there a web framework shipping with rakudo star?
20:18 TimToady vendethiel: the problem with redefining -> as an infix is that . is the start of a postfix, not an infix
20:18 TimToady and the test for bogus -> is also a postfix
20:19 _sri have we not learned anything from the CGI.pm mess?
20:20 telex joined #perl6
20:20 TimToady rakudo star is not core
20:20 TimToady it's more like a distro
20:20 TimToady and distros can put whatever they like
20:21 _sri to anyone on the outside rakudo star *is* perl6
20:21 TimToady for now
20:21 TimToady would someone *please* fork rakudo star?  :)
20:21 _sri the fact that Bailador ships with rakudo star at least made me reconsider my plans for 2015
20:21 TimToady maybe you should fork it then :)
20:22 TimToady rakudo star is no more "offical" than, say, Ubuntu
20:22 TimToady the kernel folks don't give much of a rip what distros ship
20:22 xfix Well, only Rakudo Star is announced on Rakudo website.
20:23 TimToady for now
20:23 FROGGS_ _sri: create another one, and we happily ship that too :o)
20:23 _sri yea, i just came here from the rakudo site
20:23 _sri FROGGS_: not getting into a fight, i'll wait and see how things go for Bailador first
20:23 xfix I personally consider Rakudo Star to be a snapshot of Rakudo with some useful modules.
20:23 TimToady it's like, all we have at the moment is slackware :)
20:24 ab5tract joined #perl6
20:24 _sri if there's a blessed framework, it may as well get some time
20:24 TimToady blessed by whom?
20:24 xfix Rakudo Star developers.
20:24 TimToady I ain't gonna bless any mere distro
20:25 TimToady any more than Linus would bless a particular distro, other than by using it
20:26 * moritz consideres making a more opionated distro than star
20:26 xfix Well, it has to be noted that MoarVM Rakudo Perl is Perl 6, even if there are other Perl 6 implementations.
20:27 xfix (because what else... niecza wasn't updated for a long time)
20:27 TimToady some implementations are more equal than others
20:28 * _sri is very confused now as to which perl6 is the production ready one
20:28 xfix Rakudo.
20:29 _sri (or supposed to be soonish)
20:29 TimToady the one that passes the spec tests without fudging :)
20:29 xfix As for Star or no star, it doesn't matter (Rakudo Star is just Rakudo with a few builtin modules).
20:29 xfix TimToady, then none.
20:30 * TimToady imagines Rakudo Bang, Rakudo Dollar, Rakudo Sharp...
20:30 xfix Rakudo Version Manager...
20:31 TimToady and everyone wants the Rakudo Colon distribution
20:31 TimToady lunch &
20:31 xfix Rakudo Colon - everything is a colon.
20:31 xfix my :variable := 42:
20:40 moritz FROGGS_: will you build an .msi for star 2014.12?
20:42 FROGGS_ I can do that, aye
20:43 moritz nine: I have trouble logging in to your box
20:43 moritz nine: ssh niner.name simply hangs
20:44 moritz nine: seems the domain has an AAA record, but it's not reachable via v6
20:44 moritz *AAAA
20:47 moritz traceroute6 goes up to hos-tr2.ex3k5.rz10.hetzner.de
20:48 skids .oO(A=ipv4 AA=drinking AAA=driving AAAA=ipv6)
20:48 TimToady shouldn't they have skipped to ipv7 then?
20:50 FROGGS_ >.<
20:50 FROGGS_ I bet the PHP folks consider ipv6 a mistake too
20:52 Vlavv joined #perl6
20:53 TimToady the PHP folks are projecting
20:53 moritz IPHPv6 :-)
20:53 moritz IPv6 traffic from and to hack.p6c.org is not getting accounted, btw :-)
20:54 skids No dis meant to IPv6.  At least these days, now that all the holes are finally being patched.
20:54 TimToady let's leave HP out of it
20:56 TimToady unless that's short for "Hole Patch"
20:57 moritz "Half Patched"
20:57 TimToady of course, I live in a country that still pretty much in complete denial about IPv6
20:58 moritz too many v4 addresses available
20:59 moritz it's that simple :-)
20:59 TimToady it's about as easy to get a v6 address here as it is to get a v4 address in China
21:00 skids Well, the network equipment is finally catching up on the LAN side so I'd expect some  more uptake now that us network guys can keep IPv6 address spoofing from hapenning on enterpise campus LANs.
21:01 skids But yeah, they didn't make it easy enough to get blocks.  They should have had some blocks that you automatically own with ownership of a given IPv4 range.
21:01 flussence 6to4 kinda already does that...
21:01 skids Not in an especially publicly routable manner.
21:02 flussence yeah, it doesn't work very well, if at all...
21:02 moritz well, my LIR handed my a /56 net when asked for public address :-)
21:03 moritz I guess that should cover my needs in the near to medium future :-)
21:04 flussence (I must get around to automating my IPv6 setup some day - right now it involves manually poking at telnet debug things on my DSL router each time it disconnects...)
21:04 mickcy_ca joined #perl6
21:05 moritz flussence: maybe there's a firmware update that makes that superfluous?
21:05 skids We ended up with a /44 for a medium sized university, for comparison.
21:05 skids Not that I've had ANY time to deploy it.
21:06 flussence moritz: I wish... I had to use a patched firmware from some shady-looking third-party website just to get telnet access to it :(
21:07 flussence I've got an older one with openwrt installed, but it lacks ADSL2+ apparently so it's stuck at 8Mbps...
21:11 Mso150_m joined #perl6
21:13 mickcy_ca Hello again ... reading deeper into the P6 object model and running into bless again ... In P5 I am not sure what this really does, and in P6 same issue.  Would anyone be able to elucidate this form me?
21:14 timotimo bless is less weird in perl6 compared to perl5
21:14 mickcy_ca That is comforting.
21:15 moritz mickcy_ca: in Perl 6, .bless does two things
21:15 timotimo bless creates the object storage and then calls the BUILDALLPLAN that was calculated for the class and all its superclasses; you give named parameters to bless and they are used to fill in the attributes as well as passed to all the BUILD submethods you've written or inherited
21:15 moritz mickcy_ca: 1) create a new object with self.CREATE
21:15 timotimo i hope that's correct and helpful
21:15 moritz mickcy_ca: 2) it starts the attribute initilization
21:17 moritz mickcy_ca: http://doc.perl6.org/language​/objects#Object_Construction has the user-facing details
21:17 moritz mickcy_ca: also http://perlgeek.de/blog-en/perl-6/objec​t-construction-and-initialization.html
21:18 mickcy_ca moritz: Thanks, you are a wonderful resource.
21:18 moritz mickcy_ca: you're welcome
21:18 timotimo i used to be quite confused by BUILD and new, but nowadays i grok it quite well
21:19 mickcy_ca timotimo: I strongly in the confused boat ... but happily building a new one.
21:21 vendethiel joined #perl6
21:23 sirdancealot joined #perl6
21:26 zakharyas joined #perl6
21:28 mickcy_ca Another question pops up ... is use SomeLibrary; lexical or global to all subsequent code?
21:29 timotimo lexical
21:29 mickcy_ca Nice clean answer.
21:29 timotimo perl6 is a big fan of lexical stuff
21:29 timotimo m: { use Test; } say GLOBAL::.keys
21:29 camelia rakudo-moar 32c6e4: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/dn85vxdpJ0â�¤Two terms in a rowâ�¤at /tmp/dn85vxdpJ0:1â�¤------> [32m{ use Test; } [33mâ��[31msay GLOBAL::.keys[0mâ�¤    expecting any of:â�¤        infix stopperâ�¤        infix or meta-infix…»
21:30 timotimo m: { use Test; }; say GLOBAL::.keys
21:30 camelia rakudo-moar 32c6e4: OUTPUT«Test␤»
21:30 timotimo ^- however, you can find the module again in the GLOBAL:: pseudopackage
21:30 moritz m: { use Test; plan 1; ok 42 }
21:30 camelia rakudo-moar 32c6e4: OUTPUT«1..1␤ok 1 - ␤»
21:30 moritz m: { use Test; plan 1; }; ok 42
21:30 camelia rakudo-moar 32c6e4: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/qUTx_EUDOXâ�¤Undeclared routine:â�¤    ok used at line 1. Did you mean 'on'?â�¤â�¤Â»
21:31 moritz star-m: say 'updated?'
21:31 camelia star-m 2014.12: OUTPUT«updated?␤»
21:32 moritz star-j: say 'fast enough?'
21:32 camelia star-j 2014.12: OUTPUT«Error occurred during initialization of VM␤Could not reserve enough space for object heap␤Error: Could not create the Java Virtual Machine.␤Error: A fatal exception has occurred. Program will exit.␤»
21:32 moritz wrong question asked :-)
21:33 moritz star-p: say 'Murcia existe'
21:33 camelia star-p 2014.12: OUTPUT«Murcia existe␤»
21:37 mickcy_ca So the docs say rolling own .new is poor practice ... and I seem to understand that sumbethod BUILD can provide all the gooy sugary things that are needed to initialize a class ... Correct?
21:38 Akagi201 joined #perl6
21:39 geekosaur right. more or less, the default new walks back to the base class and then calls BUILD working forward to ensure that the new object is created properly; you do your setup in BUILD and can assume that all superclasses have already been BUILD-ed and are ready to go
21:40 moritz mickcy_ca: yes, sounds about right
21:43 masak I don't consider rolling your own .new as being poor practice. doing it when it's not necessary would be poor practice.
21:43 mickcy_ca That is fair.
21:43 masak `BUILD` is for initializing the object. `new` is for providing an API for creating a new object.
21:43 moritz let's rephrase
21:43 masak but even `new` is just a convention. you can have a dozen constructors if you want, and you don't have to call them `new`.
21:43 FROGGS_ moritz: have you checked panda in the 2014.12 star?
21:44 FROGGS_ `panda --installed list` fails here because of uri
21:44 masak the trick is to keep to the conventions that do you good. :)
21:44 timotimo "well thought out practices"
21:44 moritz if you want your class to be easily subclassable, it might be good idea to keep the standard API of .new with named args
21:44 moritz right, what masak++ said
21:45 moritz FROGGS_: which backend?
21:45 FROGGS_ moar (on windows)
21:45 moritz FROGGS_: eeks
21:45 FROGGS_ not tested linux (yet)
21:45 moritz FROGGS_: I just tried panda on the 2014.12 compiler release, and it worked fine
21:45 FROGGS_ hmmm
21:46 denis_boyun joined #perl6
21:47 moritz FROGGS_: just did a panda-m install Clifford successfully
21:47 moritz but yes, panda-m --installed list also fails here
21:47 moritz No such method 'chars' for invocant of type 'Any' in method dispatch:<hyper> at /home/camelia/rakudo-star-2014.12/install/lan​guages/perl6/runtime/CORE.setting.moarvm:1352 in sub listprojects at /home/camelia/rakudo-star-2014.12/insta​ll/languages/perl6/lib/Panda/App.pm:53
21:48 FROGGS_ yeah...
21:48 FROGGS_ because of this: Panda::Project.new(name => "", version => Any, dependencies => Array.new(Any), metainfo => ("repo-type" => "git", "source-url" => "git://github.com/colomon/uri").hash, bu
21:48 FROGGS_ ild-output => Any, build-passed => Any, test-output => Any, test-passed => Any)
21:49 FROGGS_ I dunno where that comes from
21:50 FROGGS_ hmmm, maybe the reference uri points to an old commit?
21:50 FROGGS_ referenced*
21:50 FROGGS_ ohh yes :o(
21:50 FROGGS_ uri needs to be bumped
21:51 moritz but I did the git submodule foreach pull origin master, or whatever the magic invocation is
21:51 FROGGS_ and it should point to github.com/perl6-community-modules/uri.git
21:51 moritz oh, wrong URI?
21:51 FROGGS_ yeah
21:51 Mso150_m joined #perl6
21:52 FROGGS_ the colomon/uri is not listed in the ecosystem anymore, that's the problem
21:53 FROGGS_ which wants to be handled in panda too, because and older panda installation should still work when the ecosystem list changes over time
21:53 colomon oh, yeah
21:53 colomon it's git://github.com/perl6-community-modules/uri.git now
21:54 dalek star: 4c46497 | moritz++ | .gitmodules:
21:54 dalek star: use new URI for URI
21:54 dalek star: review: https://github.com/rakudo/star/commit/4c46497090
21:55 FROGGS_ ohh, the problem is not with panda but with how we generate panda's state in star
21:55 spider-mario the values of $*DISTRO and $*KERNEL on my machine seem slightly strange to me
21:55 spider-mario http://paste.awesom.eu/GfPw
21:56 spider-mario (rakudo 2014.12)
21:59 moritz FROGGS_: http://moritz.faui2k3.org/tmp​/rakudo-star-2014.12.1.tar.gz another attempt
22:05 masak 'night, #perl6
22:06 FROGGS_ gnight masak
22:07 moritz FROGGS_: with 2014.12.1, panda --installed list works
22:07 timotimo nice catch, froggs
22:09 * moritz guesses he should have been more patient with feedback before doing the release
22:12 FROGGS_ well, I just test that because there was/is an RT ticket about these stuff on windows
22:14 FROGGS_ yay, it works!
22:14 FROGGS_ I'll also call the msi 2014.12.1
22:14 FROGGS_ though, I only built a moar version yet
22:14 FROGGS_ need to do parrot too
22:15 moritz FROGGS_++
22:15 moritz tag pushed
22:15 mickcy_ca left #perl6
22:15 moritz tarball uploaded.
22:16 moritz FROGGS_: once you're done with the .msis, can you please announce them on rakudo.org, and mention the point release too?
22:17 FROGGS_ will do that
22:18 vendethiel TimToady: ah, alright
22:20 mephinet joined #perl6
22:20 jack_rabbit joined #perl6
22:22 araujo joined #perl6
22:25 araujo joined #perl6
22:26 spider-mario joined #perl6
22:45 Alula joined #perl6
22:54 spider-mario rakudo on parrot is using almost 2GB of RAM to compile Pod/To/HTML.pm
22:55 spider-mario and it’s still not done after 1300 seconds of CPU time
22:55 spider-mario what’s going on?
22:58 * japhb waves tiredly
22:58 japhb How goes it in #perl6 land?
23:00 kjs_ joined #perl6
23:06 vendethiel m: my \f = { $_ * 3}; say f(5);
23:06 camelia rakudo-moar 32c6e4: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/NjsDnsCLgh�Variable '&f' is not declared�at /tmp/NjsDnsCLgh:1�------> [32mmy \f = { $_ * 3}; say [33m�[31mf(5);[0m�»
23:12 raydiak \o japhb
23:12 lsm-desktop joined #perl6
23:15 FROGGS_ spider-mario: well, we know that parrot is quite mem hungry and not as fast as the MoarVM backend... so my only advice is to try rakudo@moarvm too
23:20 * raydiak saw similar behavior when first trying to write Pray on r-p (>1 year ago though)
23:24 pmurias joined #perl6
23:24 FROGGS_ @windows users, please test: http://froggs.de/perl6/raku​do-star-2014.12.1-moar.msi and http://froggs.de/perl6/rakud​o-star-2014.12.1-parrot.msi
23:28 pmurias _sri: as far as I know Rakudo Star is just an attempt to bundle some useful stuff, I don't think it meant to be a mark of official recognition of any kind
23:32 raydiak methinks people are looking at R* as P5 with its included core modules
23:32 raydiak the rakudo readme and website also strongly urge R* iirc, giving it a pretty official feel
23:36 raydiak also if you're on windows and don't want the huge hassle of setting up your own build environment, it is literally the only choice we give people
23:37 isBEKaml joined #perl6
23:39 vendethiel m: role Foo[::T] {...}; role Foo[Int] {constant TYPE = Int;}; subset FooI of Foo[Int]; say FooI::Type.perl;
23:39 camelia rakudo-moar 32c6e4: OUTPUT«(signal SEGV)»
23:39 BenGoldberg joined #perl6
23:40 _sri pmurias: what raydiak said
23:42 raydiak "On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the December 2014 release of “Rakudo Star”" <-- maybe this is poorly worded?
23:42 Timbus hmm yes. perhaps change 'happy' to 'obligated'
23:43 BenGoldberg joined #perl6
23:44 raydiak heh...idk, if there is a line of unofficiality here, all I mean is we've done a terrible job of making it clear
23:44 * _sri was actually under the impression that rakudo star would be announced as the first production ready perl6
23:45 raydiak I was just wondering to myself the other day "how do they choose which modules are good enough to include in star? what are the criteria?"
23:46 raydiak apparently I should have started by asking who this "they" was :)
23:48 _sri fwiw. i think node.js got the minimal core thing very right, bundling just enough stuff to bootstrap npm
23:52 raydiak good point...I'm not sure I get the reason for the whole bundled distribution thing; why is it better than just bundling panda?
23:53 raydiak is it b/c the release is a pre-tested snapshot of a (theoretically) known good working point?
23:55 vendethiel m: role Foo[::T] {...}; role Foo[Int] {constant TYPE = Int;}; subset FooI of Foo[Int]; say FooI::Type.perl;
23:55 camelia rakudo-moar 32c6e4: OUTPUT«(signal SEGV)»
23:55 vendethiel ^ this probably shouldn't segfault :P
23:55 vendethiel no idea what it should do that, jnthn/ TimToady?
23:56 pmurias raydiak: I think the orginal idea was to bundle a known working version of rakudo with a bunch of working modules
23:57 kst` joined #perl6
23:58 raydiak maybe we just say "on behalf of the perl 6 community ...", and put the wording "a community-supported dustribution of Rakudo Perl 6" scattered around in a few places, to make it a little more clear what is intended?
23:58 raydiak or, well, along those lines...ya know
23:59 raydiak *distribution

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo