»ö« 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 moritz on 25 December 2014.
00:05 FROGGS[tab] left 00:07 spider-mario left 00:20 koo6 joined 00:27 atroxaper joined 00:32 atroxaper left 00:35 gfldex left 00:50 gfldex joined
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: github.com/rakudo/rakudo/commit/50...8daabc548f
raydiak oh cool 00:58
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:00 Rounin left 01:03 jack_rabbit joined 01:14 jack_rabbit left 01:27 KCL_ joined 01:30 KCL left, beastd left 01:31 profan joined 01:32 skids joined 01:38 awoodland left 01:51 vike1 left 01:56 vike joined 02:07 koo6 left 02:18 atroxaper joined
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, rmgk left, rmgk_ is now known as rmgk, Guest97106 left
BenGoldberg r: Scalar.new = 5 02:20
02:20 rmgk_ is now known as rmgk
camelia rakudo-parrot 8e5c5e: OUTPUT«(signal SEGV)» 02:20
BenGoldberg r: Scalar.new = 5
+camelia rakudo-parrot 8e5c5e: OUTPUT«(signal SEGV)»
..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:22 atroxaper left
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␤␤»
..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 02:29 nebuchad` joined 02:32 grim_ joined, BooK joined, mr-fooba_ joined
BenGoldberg nqp-j: nqp::const::asdfwerty 02:33
camelia nqp-jvm: OUTPUT«(signal ABRT)»
BenGoldberg nqp-j: nqp::const::asdfwerty
camelia nqp-jvm: OUTPUT«(signal ABRT)»
BenGoldberg nqp-j: nqp::const::asdfwerty
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007f8da401a9f0 ***␤»
02:34 telex left, telex joined
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]␤»
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/languages/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.nqp:1432 (/home/camelia/rakudo-ins…»
BenGoldberg nqp: say(fc("Moar"))
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/languages/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.nqp:1432 (/home/camelia/rakudo-inst-1…»
..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…»
..nqp-parrot: OUTPUT«Could not find sub &fc␤current instr.: '<mainline>' pc 46 ((file unknown):38) (/tmp/tmpfile:1)␤»
02:40 yubimusubi joined 02:43 go|dfish1 joined 02:49 mr-foobar left, nebuchadnezzar left, go|dfish left, BooK_ left, [particle] left, ka05 left, Possum left
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. 02:53
aha. .READLINE from the tie interface works. \o/ 03:09
03:23 Ben_Goldberg joined 03:26 BenGoldberg left 03:43 atroxaper joined, Mso150 joined 03:46 Ben_Goldberg left 03:50 noganex joined, xinming_ left 03:51 Mso150 left, vendethiel left 03:52 xinming joined 03:53 vendethiel joined, noganex_ left 03:57 araujo left 04:03 araujo joined 04:14 sirdancealot joined 04:38 autark joined 05:12 yeahnoob joined 05:14 atroxaper left 05:15 atroxaper joined 05:16 atroxaper left 05:21 sirdancealot left 05:24 sjdy521 joined
sjdy521 ada 05:24
05:25 KCL_ left, vendethiel left 05:26 vendethiel joined 05:27 sjdy521 left 05:37 yeahnoob left 05:40 sirdancealot joined 05:51 mr-fooba_ left 05:56 isBEKaml joined 06:07 mr-foobar joined 06:17 autark left
raydiak since it isn't quite over in my time zone...merry christmas to all, and to all a good night o/ 06:23
06:24 isBEKaml left 06:36 sirdancealot left 06:38 kaleem joined 06:56 frew joined 07:03 mr-foobar left, adu joined 07:07 [Sno] left 07:30 risou is now known as risou_awy 07:39 mickcy_ca joined 07:43 kaare_ joined 07:57 anaeem1 joined, anaeem1 left 07:58 anaeem1_ joined 08:00 go|dfish1 is now known as go|dfish 08:04 dayangkun joined 08:05 dayangkun left 08:09 xfix joined 08:14 gfldex left
mickcy_ca Does anyone have any idea of a timeline for the Conjectular stuff, and the "not reviewed properly" stuff in design.perl6.org/S32/IO.html will be completed? 08:18
08:21 FROGGS[tab] joined, darutoko joined 08:22 isBEKaml joined
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 left, mickcy_ca joined
mickcy_ca lismat: I am wondering if you have any idea as to a timeline for design.perl6.org/S32/IO.html conjectural and "not reviewed properly" items. 08:31
moritz \o 08:32
timelines in #perl6 land are usually "when we get around to it"
mickcy_ca moritz: I kind of figured that ... was just wondering if anyone had a round-tuit for pipes and sockets 08:33
FROGGS[tab] I did something for pipes recently... but I did not review S32 08:34
mickcy_ca Curious, what was done? 08:35
I may find it useful for a Perl 6 port I am doing. 08:36
moritz seems like pipe was fixed on the parrot backend 08:39
08:42 Akagi201_ joined, Akagi201 left 08:47 adu left 08:48 virtualsue joined 09:00 isBEKaml left 09:14 vendethiel left 09:16 vendethiel joined 09:20 telex left 09:21 Mso150 joined, dj_goku left 09:22 telex joined 09:27 rindolf joined 09:30 dj_goku joined, dj_goku left, dj_goku joined
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)
mickcy_ca Ah.
FROGGS[tab] and that we get the status code of the child process or so 09:35
and something about the filehandles we want to read from 09:36
mickcy_ca Curious, do you know how to create a Unix Domain Socket? 09:38
From within Perl 6
moritz mickcy_ca: pipe is both a sub and a method on IO::Path 09:41
09:46 isBEKaml joined 09:47 virtualsue left 09:49 dj_goku_ joined, dj_goku left 09:51 rurban joined 09:58 [Sno] joined 09:59 zakharyas joined 10:03 andreoss joined
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
repl with any other backend works 10:06
moritz mickcy_ca: no idea
mickcy_ca <sigh>
andreoss without supporting TERM=dumb perl6-m repl cannot be used inside emacs properly 10:08
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:09
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
mickcy_ca YAY, more reading. 10:11
10:12 isBEKaml left 10:13 isBEKaml joined
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.
moritz mickcy_ca: or use rakudo star (though thta's kinda out of date), which bundles it
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
I mean, not need to use panda.
10:23 vendethiel left
dalek c: d73ca23 | moritz++ | lib/Type/Supply.pod:
Add some examples to Supply methods documentation
10:28
10:29 vendethiel joined, spider-mario joined 10:30 anaeem___ joined 10:32 anaeem1_ left
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:33
if someone were to make nativecall bindings to such a library.. that would be pretty neat 10:34
10:34 hekmek joined
mickcy_ca That would be awesome ... better than pretty neat. 10:35
Unfortunately, I have not programmed in C since college ... many moons ago. 10:36
dalek ar: ac97143 | moritz++ | docs/announce/2014.12.md:
2014.12 draft release announcement
xfix Perl 6 is neat, but the reality is that people still use COBOL. 10:37
moritz "many moons ago", muhaha
mickcy_ca LOLOLOLOL
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
10:39 anaeem___ left
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:39
masak good antenoon, #perl6 10:40
xfix When in Perl 6, I could just write $r = +$s.comb.Set
moritz \o masak 10:41
feedback on github.com/rakudo/star/blob/master...2014.12.md very welcome
xfix (oh, and the sample solution assumes that everything fits in 8-bit) 10:42
I don't understand the point of those stupid exams that don't really require anything. 10:43
10:43 zakharyas left
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 Mso150 left
mickcy_ca moritz: if somebody has never driven before ... same problem. 10:45
xfix They aren't mandatory... 10:46
mickcy_ca Shouldn't take the exam if not prepared.
moriz: The announcement looks fine ... can't comment on the content though. 10:48
isBEKaml moritz: s/Varios/Various/
moritz: I'm not sure about this one - we still have $*DISTRO and $*KERNEL, right? 10:49
dalek ar: 576754e | moritz++ | docs/announce/2014.12.md:
fix typo in announcement, isBEKaml++
10:50
moritz m: say $*DISTRO.name
camelia rakudo-moar 8e5c5e: OUTPUT«opensuse␤»
mickcy_ca what is meant by " 'for' remains as it is n"
"slurping rest from handle" -> slurping the rest from the handl 10:51
handle ...
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.
Not everybody wants to write code like codepad.org/MuOKmHox
dalek ar: 6bfb316 | moritz++ | docs/announce/2014.12.md:
Fix more typos, mickcy_ca++
xfix When I can just r = len(set(s))
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
moritz: in the point of 'for' as an alias for 'map'
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?
moritz to make it clear that it's not a data structure
isBEKaml: no new modules added
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
isBEKaml moritz: I don't want to add more work to release maintainers if it's not worth the cost. 10:59
moritz++ # Star release 11:02
dalek on: f21c417 | moritz++ | lib/JSON/Tiny.pm:
Change .map to .for for forward compatibility
11:04
11:05 isBEKaml left
mickcy_ca Good night all ... 11:08
11:09 mickcy_ca left 11:11 virtualsue joined
vendethiel moritz++#star 11:26
xfix gist.github.com/xfix/734b904b95c2052c50b2 11:27
Those are module changes for Rakudo Star.
moritz xfix: thanks! 11:32
xfix Feel free to include important parts, or something. 11:33
11:34 nebuchad` is now known as nebuchadnezzar
xfix In Rakudo Star 2014.09 displays help like "panda update -- Display information about specified modules". 11:34
Which is wrong description (it's intended to be a definition of "info", not "update").
11:35 dakkar joined
moritz looks correct in 2014.12 11:35
dalek ar: bb488b7 | moritz++ | docs/announce/2014.12.md:
Include modules changelog, xfix++
11:36
xfix "library names" 11:37
Sorry, I just fixed that 2 minutes ago.
(although, I believe there are other misspellings as well)
(oh well, I don't really know English)
dalek ar: 43e6655 | moritz++ | docs/announce/2014.12.md:
typo, xfix++
11:38
moritz neither
xfix There were also some fixes for Rakudo (depreciation notices), but considering they didn't exist in 2014.09, it doesn't matter.
dalek ar: b8f06b8 | moritz++ | docs/announce/2014.12.md:
Mention an incompatible change
11:40
xfix moritz, by the way, have you got my hack.p6c.org application I sent by e-mail? 11:43
moritz xfix: no, my email account is currently inaccessible; please use [email@hidden.address] for now 11:44
xfix: and sorry for the hassle
xfix Oh, okay.
I sent it to [email@hidden.address] so I guess that's why. 11:45
moritz, sent 11:46
Also, I just realized those packages aren't for Debian Testing. 11:47
Oh well, I can compile fish myself anyway.
11:50 kaleem left
moritz xfix: I haven't got a mail from you yet 11:52
*gotten
xfix Oh, right, I again put the wrong e-mail
Argh.
I sent two mails to wrong e-mail.
sorry for spam 11:53
moritz, ok, now it should be sent
I apologize for the issue.
moritz xfix: account added, have fun! 11:56
xfix Thanks. 11:57
Connected.
Now I wonder...
Hm, connected with screen and irssi and default settings, and I see Camelia. 11:58
moritz somtimes, Unicode isn't hard :-) 11:59
xfix With LANG=C, I see >>?<<. 12:00
But with any reasonable LANG, I see Camelia.
I wonder what issue masak is seeing. (gonna check PuTTy with Cygwin, often this particular SSH client causes problems)
Right, and PuTTy requires private key files in its odd format. 12:02
moritz puttydefaults defaults to some legacy encoding, iirc
xfix Yes, I know.
But I see Camelia in irssi as well. 12:03
Without changing sets (huh?).
Hm, PuTTy now defaults to UTF-8. 12:05
When forcing ISO-8859-1, I get »ö« 12:07
moritz \o/
12:07 hekmek left
xfix Hm, strange... 12:07
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:10
env -i ssh hack.p6c.org 12:11
12:11 risou_awy is now known as risou
xfix There is /etc/profile, but it says nothing about LANG. 12:12
/etc/default/locale. Ok.
The only thing I can think of is LC_ALL, but why anyone would set it? 12:14
(and LC_MESSAGE, I guess) 12:16
export LC_ALL=en_US.UTF-8 12:17
Right...
That explains everything. 12:18
12:23 BenGoldberg joined
xfix The server has five locales defined - C, C.UTF-8, de_DE.UTF-8, en_US.UTF-8, and POSIX. 12:23
12:23 virtualsue left
xfix While the old server has 827 locales defined... fun? 12:24
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
in screen "locale"*
12:41 sergot left 12:43 sergot joined
masak xfix: gist.github.com/masak/c1ec1b34aad88b5d51c1 12:43
xfix And here we have the issue. 12:44
nb_NO.UTF-8 locale is not installed on hack.p6c.org.
So, either those have to be replaced, or moritz has to install nb_NO.UTF-8.
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
moritz sure
masak: nb_NO.UTF-8 locale generated 12:46
timotimo was that "sure" for me?
moritz timotimo: sure :-)
timotimo just wanted to make sure
xfix masak, if it doesn't work, restart irssi and screen. 12:47
timotimo is the "some module tests fail" part of the JVM version still true? 12:48
dalek ar: 1df8fdf | timo++ | docs/announce/2014.12.md:
tiny changes to the announcement
12:50
12:50 sergot left, sergot_ joined 12:51 sergot_ is now known as sergot
xfix Hm, no perl6 binary on a server. 12:52
moritz xfix: github.com/perl6/infrastructure-do...rakudobrew
xfix Ok, neat. 12:53
Shouldn't it be in /etc/profile.d?
moritz we even have documentation; you'd just have to read it :-)
no
since many users want to compiler their own, it would be potentially harmful to have it in the default path
xfix ok
Why is .rakudobrew-bash a hidden script? 12:54
moritz timotimo: I'm now testing star-j build
12:54 BenGoldberg left
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:56 masak left 12:57 masak joined
masak \o/ 12:57
xfix++
moritz xfix: linkified
masak ☺ ☺ ☺ ☺ ☺ ☺ \☺/
oh, that's nice.
timotimo it seems like indirect method calls are still marked - on the feature matrix 13:00
timotimo edits 13:01
moritz also a good test to see if updating the feature matrix works from cron
timotimo oh, could it be that's not about "new Blurb: 1, 2, 3"?
moritz it's about that, yes 13:03
timotimo m: my $mn = "say"; my $num = 100; $num."$mn"();
camelia rakudo-moar 8e5c5e: OUTPUT«100␤»
timotimo that also works, though
dalek atures: 2de106f | timo++ | features.json:
indirect method calls (a la new Foo: 1, 2, 3) work
13:04
xfix github.com/perl6/infrastructure-doc/pull/1
vendethiel m: sub infix:<<"->">>($a, $b) { $a."$b"; } ; say 5->"succ";
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== Error while compiling /tmp/Or9wKoyvzL␤Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.␤at /tmp/Or9wKoyvzL:1␤------> sub infix:<<"->">>($a, $b) { $a."$b"⏏…»
xfix (not sure why I don't have access to infrastructure-doc repository, but whatever)
vendethiel m: sub infix:<<"->">>($a, $b) { $a."$b"(); } ; say 5->"succ"; 13:05
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== 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␤------> <"->">>($a, $b) { $a."$b"…»
vendethiel :(
dalek frastructure-doc: db019f6 | (Konrad Borowski)++ | hosts/hack.p6c.org.pod:
Mention the updated rakudobrew-bash path.
13:06
frastructure-doc: ec7f273 | moritz++ | hosts/hack.p6c.org.pod:
Merge pull request #1 from xfix/patch-1

Mention the updated rakudobrew-bash path.
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";
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== 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␤------> "->>">>($a, $b) { $a."$b"…»
vendethiel well.
moritz xfix: you should also have direct push access to the infrastructure-doc repo 13:08
xfix Thanks.
timotimo vendethiel: are you sure you want " inside the <<?
vendethiel no.
m: sub infix:<< -> >>($a, $b) { $a."$b"(); } ; say 5->"succ";
timotimo m: sub infix:<<< ->> >>>($a, $b) { $a."$b"(); } ; say 5->>"succ";
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== 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␤------> < -> >>($a, $b) { $a."$b"…»
rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== Error while compiling /tmp/xy8yoKJSbs␤Missing block␤at /tmp/xy8yoKJSbs:1␤------> sub infix:<<< ->> ⏏>>>($a, $b) { $a."$b"(); } ; say 5->>"su␤»
xfix m: sub infix:["->>"]($a, $b) { $a."$b"(); } ; say 5->>"succ";
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== Error while compiling /tmp/KMjyyZbem4␤Colon pair value '"->>"' too complex to use in name␤at /tmp/KMjyyZbem4:1␤------> sub infix:["->>"]⏏($a, $b) { $a."$b"(); } ; say 5->>"succ"␤»
xfix Too complex?
timotimo m: sub infix:<['->']($a, $b) { $a."$b"(); } ; say 5->"succ"; 13:09
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== Error while compiling /tmp/GMP7TUO8aG␤Missing block␤at /tmp/GMP7TUO8aG:1␤------> sub infix:<['->⏏']($a, $b) { $a."$b"(); } ; say 5->"succ␤»
timotimo m: sub infix:['->']($a, $b) { $a."$b"(); } ; say 5->"succ";
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== Error while compiling /tmp/puhOcHVdZJ␤Colon pair value ''->'' too complex to use in name␤at /tmp/puhOcHVdZJ:1␤------> sub infix:['->']⏏($a, $b) { $a."$b"(); } ; say 5->"succ";␤»
timotimo hm.
xfix m: sub infix:«->>»($a, $b) { $a."$b"(); } ; say 5->>"succ";
camelia rakudo-moar 8e5c5e: OUTPUT«===SORRY!=== 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␤------> x:«->>»($a, $b) { $a."$…»
xfix m: sub infix:«->>»($a, $b) { $a."$b"(); } ; say [->>] 5, "succ";
camelia rakudo-moar 8e5c5e: OUTPUT«6␤»
vendethiel ooooh
m: sub infix:<< -> >>($a, $b) { $a."$b"(); } ; say [->] 5, "succ";
camelia rakudo-moar 8e5c5e: OUTPUT«6␤» 13:10
xfix Hm, so the -> rule triggers before ->>, even with LTM for some reason.
vendethiel nice :D
xfix Probably a bug.
dalek ar: 36cc147 | moritz++ | modules/svg-plot:
Update to newer SVG::Plot
13:11
raydiak \o g'mornin butterflies, camels, etc... 13:13
xfix \o raydiak
moritz good morning, raydiak lambdafly
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:14
(we currently use 710MB of RAM, excluding memory cache) 13:15
moritz we are lucky to have so many and so generous donors 13:17
xfix Yes...
raydiak aye, /me was looking at prices on a server like that
13:17 gfldex joined
xfix Even buying 4GB of RAM server costs (I have 1GB of RAM on my own server that is used for stuff). 13:17
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
yep...a bit outside my price range atm :)
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?
moritz raydiak: sure; what username do you want? 13:20
xfix Will have to go now.
13:20 xfix left
raydiak moritz: can I have "x"? 13:20
\o xfix
alternatively, raydiak works fine :)
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
raydiak passwd: Authentication token manipulation error 13:24
passwd: password unchanged
moritz huh
raydiak: that means you entered the old password incorrectly 13:25
raydiak m) right...5 AM here
andreoss m: my $x := lazy {sleep 1; 10} 13:32
camelia ( no output )
andreoss why it takes time?
why isn't sleep call deferred? 13:33
s/:=/=/ 13:35
moritz andreoss: it's called start { }
m: my $before = now; start { sleep 2 }; say now - $before
camelia rakudo-moar 8e5c5e: OUTPUT«0.0075080␤»
andreoss moritz: start is a Promise, i want just lazy evaluation (i want to defer evaluation until i need this $x ) 13:36
moritz andreoss: and that's what a Promise gives you, just call .result when you need it 13:37
andreoss: doing stuff lazily just in a scalar doesn't work out
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
m: my @x := lazy { gather for 1..10 {sleep $_; $_} } 13:39
neither works
camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
moritz gather already is lazy
m: my @x := do gather for 1..10 {sleep $_; take $_}; say 'here' 13:40
camelia rakudo-moar 8e5c5e: OUTPUT«here␤»
andreoss m: my @x := do gather for 1..10 {sleep $_; take $_}; 13:41
why timeout?
camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
moritz andreoss: probably something tries to use the return value of your program 13:42
oh
it's called in sink context, but badly :(
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
andreoss: to print the return value, it has to evaluate it 13:46
roaringbitmap.org/ something to use for char classes in regexes? 13:47
13:47 araujo left
andreoss moritz: it should print something else than 13:48
no lazy scalars in perl6? 13:50
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:51
FROGGS_ unlikely 13:52
raydiak then it's pretty clearly broken 13:53
FROGGS_ m: my @x := gather for 1..10 {sleep $_; take $_}; 13:54
camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
raydiak but 13:55
m: my @x := gather for 1..10 {sleep $_; take $_}; say 0
camelia rakudo-moar 8e5c5e: OUTPUT«0␤»
raydiak but then
m: lazy my @x := gather for 1..10 {sleep $_; take $_}; say 0
camelia rakudo-moar 8e5c5e: OUTPUT«(timeout)»
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
moritz lazy is just for lists
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?
moritz andreoss: I tried to explain earlier
irclog.perlgeek.de/perl6/2014-12-26#i_9854857 13:58
andreoss moritz: but haskell type-checks too
14:01 kjs_ left
andreoss ok. seems i get it 14:01
moritz andreoss: at compile time, yes. Perl 6 must do it at run time
andreoss i guess though it could be done via some Lazy class, like my Lazy[Int] @x = ... 14:02
s/@x/$x/ 14:03
14:05 andreoss left 14:17 andreoss joined, andreoss left
timotimo unless someone updated the feature comparison matrix manually, the cron job seems to work 14:18
can someone comment on "Precedence and associativity of new operators 14:19
" where the footnote is "still some bugs"?
14:19 araujo joined
timotimo and also the "andthen" and "orelse" footnote "missing exception semantics" is (IIRC) wrong 14:19
14:19 xfix joined
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:20
xfix Hm, lazy strings. 14:21
I think that slurp could use lazy strings, but anything else?
moritz xfix: the main application is reegx matching against streams 14:22
xfix With mmap, slurp could be lazy.
14:23 Rounin joined
moritz not from STDIN 14:27
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
which is very incomatible with streaming 14:29
xfix How to represent size_t in Zavolaj? 14:32
moritz int iirc 14:33
xfix uint, ok
14:38 vendethiel left
xfix How can I define ... function? 14:40
int open(const char *path, int oflag, ...);
14:41 vendethiel joined
FROGGS[tab] look at zavolaj's readme and examples or tests 14:42
xfix Eh, open won't help me much. 14:43
It needs constants from fcntl.h. 14:44
Perl 5 has them in metacpan.org/pod/Fcntl
And int open() is sysopen function.
Or I guess, POSIX::open. 14:45
I need POSIX::open in order to implement low level mmap.
(how else I would get value of O_RDONLY) 14:46
moritz by copinyg it from the source 14:47
xfix Great, but various operating systems have different O_RDONLY.
moritz or by writing a small C lib that has a function that returns it
xfix I guess.
It's probably better to write C wrapper anyway.
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?
moritz see Inline::Perl5 for an example that such stuff
xfix ok
Which depends on LibraryMake. 14:49
github.com/retupmoca/P6-LibraryMake/
ok
moritz which does much of the hard work 14:50
URI::DefaultPort::scheme_port gives a Null Pointer access on the JVM 14:54
and lots of things depend on that (like all the LWP::Simple tests) 14:55
man, testing stuff on r-j is painfully slow 14:57
15:03 vendethiel left 15:04 vendethiel joined 15:05 khisanth_ joined 15:07 Khisanth left
moritz moritz.faui2k3.org/tmp/rakudo-star-....12.tar.gz # release preview 15:08
15:09 guru joined 15:10 dakkar left 15:11 salv0 left 15:25 ilogger2 left, dakkar joined, virtualsue joined 15:27 colomon left 15:28 salv0 joined
skids \o/ new star. Now I have something to do today :-) mortiz++ 15:32
moritz not yet released, officially
skids Good enough for me :-)
I don't mind kicking tires. 15:33
itz I'm trying the moar build on FreeBSD/clang 15:35
masak .oO( is it called "clang" because the error messages are so noisy? ) :P 15:36
15:37 xdbr joined
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
And I get "This type cannot unbox to a native integer" error.
$path is Str. 15:38
itz I notice clang is quite slow for one or two files in moar as well
TimToady yes, interp is triggering some kind of O(N^2) or so 15:39
15:39 xdbr left
raydiak m: END say my $a; END $a = 'mildly surprising'; 15:43
+camelia rakudo-moar 8e5c5e: OUTPUT«mildly surprising␤»
TimToady looks fine to me :) 15:44
xfix ok, dealt with the issue
raydiak why do END blocks run in FILO order?
15:45 Rounin left, dakkar left
xfix How can I get file length? 15:47
moritz $path.IO.s
xfix thanks
15:49 colomon joined
moritz it's really hard to operate services on the public Internet and not becoming paranoid 15:49
raydiak raydiak: because S04 says so 15:50
xfix moritz, I agree. 15:51
Everything tries to attack you.
Oh wait, it's just you concerned about services running in the background.
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
(hm... strace perhaps?)
open("/etc/passwd", O_RDONLY) = 13 15:56
hm...
Looks correct for me...
TimToady raydiak: in particular, S04:1502 15:57
synopsebot Link: perlcabal.org/syn/S04.html#line_1502
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
raydiak find moritz's paranoia contagious, opens auth.log to soothe himself, and sees chinese scriptkiddies trying to brute-force his root password 16:01
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:04
itz apt-get install fail2ban 16:05
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:06
itz the new standard non-standard port is 2222 ;) 16:07
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 :)
xfix (on my server, SSH port is 98)
raydiak 10022 here
16:10 Vlavv left
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:12
+dalek ecs: c6e6ed4 | TimToady++ | S04-control.pod:
clarify tiebreaking for phasers
16:13
raydiak TimToady: that makes total sense; it just feels a little less "procedural" than I was thinking at the moment 16:16
but then that's what phasers do
timotimo so ... what is the @autovivs argument to bless and BUILDALL and friends for again?
TimToady never heard of it 16:17
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
xfix Whatever, it doesn't matter.
timotimo maybe it's what the * argument to bless was supposed to be for?
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
xfix I created a neat native code library, so...
TimToady I'd think those would keep their own chain rather than be passed explicitly
xfix And root is reading /var/log/auth.log in meantime.
raydiak S12:818 mentions "These are used to initialize superclasses." 16:20
synopsebot Link: perlcabal.org/syn/S12.html#line_818
TimToady that is, when you generate a WHENCE, it knows if it has dependencies already, I'd think
moritz somehow fail2ban doesn't do anything here :(
timotimo oh, right, that's a NYI thing 16:21
TimToady I don't know why object construction would get involved with autoviv
timotimo that's probably not even parse yet?
16:22 Vlavv joined
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
xfix Rather, fail2ban checks SSH server logs, and bans IP that try to access too much.
TimToady WHENCE is more like for passing not-yet-existing entries to an rw parameter that might assign to it 16:23
when you can't know statically that it will happen
masak hm. if BEGIN blocks don't fire in quasis, then probably macros shouldn't either... 16:24
I really need to read those anaphoric things vendethiel++ sent me.
xfix moritz, how it IP bans, you should ask. Well, it uses iptables. Is iptables enabled?
TimToady lazy macros, who'd've thunk
moritz xfix: it is, and I'm pretty sure it used to work 16:25
xfix: and a tail -f /var/log/fail2ban.log showd the banning and unbannings
xfix: and now that log file doesn't show anything anymore
xfix Hm, odd.
16:26 raiph joined
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.
it's increasingly clear to me that quasis are "detached" in some sense, and that I/we have disregarded that up until now.
though D4 is quite a bit about that.
TimToady in my mind it falls under "accidental genericity" that needs to become intentional 16:27
masak *nod*
xfix moritz, what does iptables -L list? 16:28
Oh, right, there is no iptables.
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.
xfix (oh wait... I forgot it's Debian with /sbin)
16:28 vendethiel left
moritz xfix: gist.github.com/moritz/4af1c8b05296e9ed44d3 16:29
xfix Yeah, it bans.
moritz xfix: I've banned three IPs manually from the INPUT chain
xfix Oh.
moritz and fail2ban would put them in fail2ban-ssh chain
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
unless we outlaw ASAP entirely 16:30
(in macros)
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 ...
xfix By the way, reminds me of one thing.
Yeah.
Figured out the issue.
moritz is inclined to agree TimToady++, and masak++ might be a bit biased due to having the implement that stuff
masak well, I'm not *sure* either way yet. 16:31
xfix moritz, open /etc/ssh/sshd_config, change log level to VERBOSE, and restart SSHD.
TimToady moritz: which falls under a different principle :)
masak I do want some kind of consistency. but it's not clear to me yet what that should be.
TimToady just sayin' what a user probably expects, which is not necessarily what makes sense
moritz xfix: but auth.log already shows the failed login attempts
masak *nod*
xfix moritz, does it show IPs?
masak I can see the case for having BEGIN blocks fire ASAP. 16:32
TimToady masak: consistency tends to work against TMTOWTDI though :)
moritz xfix: yes
xfix: that's where I got the IPs from that I banned :-)
skids
.oO(ouch failtoban edits rules? should really use an ipset instead.)
moritz Dec 26 17:21:41 hack sshd[15178]: Failed password for root from 122.225.109.208 port 53126 ssh2
masak TimToady: if I synthesize a BEGIN block, should it fire at macro expansion time?
TimToady maybe we need macro phasers
since macros have phases
masak no, I really don't think we need macro phasers. 16:33
but I can see how people might think we do :)
moritz raydiak++ # using IPv6
masak: doesn't the macro body already run at macro expansion time?
16:33 vendethiel joined
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.
moritz that kinda makes BEGIN blocks in the generated code a bit superfluous
masak moritz: they do. it depends. 16:34
xfix With lots of different patches, like putting failed authorizations in SSHD.
masak moritz: think about an unhygienic variable, which you want to debug-print during BEGIN time.
moritz: the only way to do that would be to put the BEGIN in the quasi, and then have it fire at expansion.
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
xfix Hm...
^%(__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*$
This is a regex that fail2ban uses in order to determine host.
masak TimToady: that sounds too specific to me. 16:36
raydiak moritz: wait, I am? :)
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
masak the case for other phasers inside quasis is much easier to make out.
xfix Hm, should match...
masak like CHECK and END.
moritz raydiak: auth.log says so
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
TimToady masak: ^^^ what I was talking about above 16:38
masak with synthetic Qtrees, there may not even be a parse-time.
TimToady: yes, I'm thinking about tree-walkers too.
TimToady a constructed BEGIN won't be visible to the parser, and a parsed BEGIN won't be visible to the tree
so I don't think there's really a problem here 16:39
masak I definitely think Qtrees still have BEGINs in them.
they are parts of the program structure that you might want to analyze and reason about.
TimToady as long as the tree walker processes any BEGINS it sees, it won't see any that happened in the parser
masak saying that BEGINs melt away is a bit like saying class declarations melt away. they don't.
TimToady because the parser just inserts the *results* of the BEGIN into the tree
well, even if there is residue, it can be marked as evaluated 16:40
masak hm.
yes, maybe something like that is necessary.
masak .oO( exhausted BEGIN )
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...)
TimToady is not sure whether he needs more coffee or not... 16:44
xfix moritz, www.fail2ban.org/wiki/index.php/FAQ...bruteforce 16:45
Perhaps this is what is happening.
moritz xfix: oh, I changed the timezone from GMT+1 to UTC 16:47
xfix Restart syslogd. 16:48
So it will see timezone change.
moritz xfix++ 16:49
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)
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)
masak yes, there needs to be fast lanes built between a "parse view" and a "Qtree view" of things.
moritz xfix: debian jessie has systemd
xfix: ... which is what hack.p6c.org uses :-)
TimToady masak: but can they be sufficiently isomorphic?
moritz xfix++
masak TimToady: not sure. not completely, no. 16:54
TimToady: synthetic Qtrees have no parse view.
there's also a "value view", the result of evaluating either a piece of program text or a Qtree.
TimToady well, that's what a BEGIN does, basically 16:55
masak sort of, yes.
at least from the point of view of the runtime.
TimToady your other ploy is to rewrite the P6 parser to all use Qtrees, then we translate that lower-level stuff as necessary :) 16:56
maybe that's something to think about when we get a complete bootstrap 16:57
of course, arguably most of the infelicities we have in QAST are necessary due to circularity sawing
masak last time I mentioned that as a (frightening) maybe-necessity, I was met by surprisingly favorable reactions by you and moritz :) 16:58
s/by/with/
TimToady well, it's a long-term goal to replace Grammar.nqp with STD.pm6 or so
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.
TimToady but for now, portability is an important consideration
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
masak *nod*
TimToady it's not necessary for 6.0.0
so maybe we punt on infix macros before full bootstrap as well
17:01 raiph left
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 strangelyconsistent.org/blog/macros...s-in-a-row 's "Implementation" section. 17:01
TimToady is trying to kill "is parsed" though
masak allowing 'is parsed' macros to remain AST-y and participate in Perl 6 grammar parsing is important, I think. 17:02
I don't care much about textual 'is parsed'.
(mostly because I don't see it as very well-defined, but more like a wish fulfillment kitchen sink)
17:03 araujo left
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.
TimToady that's why I'm mostly thinking of macros as "slang regex { <stuff> { make quasi {...} } }" these days 17:05
or something like that
17:05 araujo joined
TimToady the categories fall out of how you name the regex 17:05
and the grammar derivation is implied by the 'slang' 17:06
'is parsed' says nothing about deriving a new grammar, which is another problem
well, it could be force, but it would rather...forced... 17:07
*forced
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 virtualsue left, mr-foobar joined
TimToady FROGGS_: good question 17:08
MAIN makes sense as the default, but it can merely be the degenerate case
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))
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 .... }
yeah
TimToady yes, that's more like the original slang proposal
FROGGS_ m: say $~MAIN 17:11
+camelia rakudo-moar 8e5c5e: OUTPUT«Slang.new(:grammar(Perl6::Grammar), :actions(Perl6::Actions))␤»
TimToady but maybe not so fancy as all that
FROGGS_ we've got that at least nowadays
TimToady once you can name other braids, you can just poke 'em with a function somehow
at BEGIN time
so maybe slang poking is just a macro 17:12
('just', he sez...)
or just stick with BEGIN $~QRegex = Slang.mixin: role MyStopper { regex stopper {...} } 17:15
BEGIN $~QRegex does ...
FROGGS_ true, the currently working mixin approach is kinda neat, I mean, it works and all :o) 17:16
17:16 vendethiel left
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
TimToady well, but handling the delegation to the grammar somehow
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
17:19 vendethiel joined
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
TimToady that's why I said poke it into the cursor, not into the grammar
FROGGS_ or perhaps, one could even want to parse once, and act twice or more 17:20
17:20 aghbas joined, aghbas left
moritz FROGGS_: that way lies madness 17:20
masak here's another very recent AST format to learn from: engineering.shapesecurity.com/2014/...t-ast.html (hat tip to raiph++)
TimToady but efficiency wants the actions to act as wrappers for the rules, eventually, with appropriate inlining
FROGGS_ moritz: I am not thinking about programming languages here, more about json or similar
TimToady most parsing systems seem to want to get away from the match tree as quickly as possible 17:22
and AST have their own tree-walking after that
*s
moritz yes, parse trees are rather specific, and when you're too far away, you don't know how to interpret stuff anymore
masak I do wish that the greatest discussions we have on macros here wouldn't also be very scary 17:23
:P
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?)
xfix: Do you see yon Celestial City? No? Well, then, do you see yon Wicket Gate? 17:25
sorry, Pilgrim's Progress allusion there...
our poor pilgrim masak++ is trying to get to the wicket gate, and I keep hyping the celestial city :) 17:27
17:32 rurban left
masak that's about the size of it 17:35
on the face of it, Qtree splicing is a much less constrained action than writing a corresponding program fragment in text. 17:36
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
"you can't declare that -- already declared in this context". would be awesome enough.
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:38
17:45 sirdancealot joined
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:46
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.
"maybe we need more phasers" smells highly of committee to me.
at least to a first approximation. 17:48
xfix moritz, I cannot modify infrastructure-doc. 17:52
+dalek p: 5c9ffcf | TimToady++ | src/ (2 files):
add a note function, use it some
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;
+ nqp::printfh($err,"$indent mergesubrule $name start $start to $to fate $fate\n") if $nfadeb;
Why note function is not used here? 17:54
moritz xfix: try again pelease
xfix works
+dalek frastructure-doc: 3ef0b6d | (Konrad Borowski)++ | hosts/host08.perl6.com (2 files):
Make host08.perl6.com render as a POD.
moritz xfix: probably because note() doesn't cache stderr 17:55
masak vendethiel: not yet. I'm still on Lisp In Small Pieces, which arrived first. 17:57
17:58 skids left
TimToady my assumption is that nqp::getstderr() is slower than a variable access, but I could be wrong about that 17:58
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
TimToady well, arguably it should really depend on $*ERR rather than merely being thread local, but it's not really a constant 18:00
timotimo are we interested in that in nqp? 18:01
18:01 skids joined
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
not saying p6 is doing that in this case
timotimo oh, you mean something in nqp that uses note() should honor $*ERR if it was called from perl6
that's totally reasonable
TimToady the debugging obviously belongs to nqp here
if p6 used nqp's not to implement its own note, it would be wrong, is what I'm sayin' 18:04
*note
xfix It's clearly a debugging feature (because clearly, printf is best debugger... there is a reason why Ruby has `p` function)
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:06
which is why we would like to get to full bootstrap someday, eventually 18:07
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
well, obviously you'll always need circularity saws somewhere 18:09
but yeah
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
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:17
and yet, macros expand macro calls at the Qtree level, producing something new that wasn't there in the text. 18:18
can't have it both ways.
TimToady not without a discriminant of some sort, nope 18:19
skids r: class F { multi method p ($self where {True}: $foo) { } } # used to work. 18:35
+camelia rakudo-{parrot,moar} 8e5c5e: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Invocant colon not allowed here␤at /tmp/tmpfile:1␤------> F { multi method p ($self where {True}:⏏ $foo) { } } # used to work.␤»
18:38 vendethiel left
TimToady that's funny, should be limiting that expression to tighter than comma 18:43
I guess it's failing too early 18:44
18:45 mvuets joined 18:47 flussence left 18:48 vendethiel joined 18:51 BenGoldberg joined 18:55 BenGoldberg left 18:58 Mso150 left 18:59 Mso150 joined 19:02 rindolf left
+dalek kudo/nom: 32c6e44 | TimToady++ | src/Perl6/Grammar.nqp:
signatures are also allowed to have invocants :)
19:03
TimToady skids++
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Missing block␤at /tmp/tmpfile:1␤------> F { multi method p ($self where {True} ⏏is ro: $foo) { } } # would be a workarou␤»
skids oh, huh.
nevermind.
19:08 FROGGS_ left
moritz rakudo.org/2014/12/26/announce-raku...e-2014-12/ 19:08
IWBN if somebody else could send the announcement mail; my primary email account (which is subscribed to these lists) is currently unavailable :(
19:09 vendethiel left 19:10 khisanth_ is now known as Khisanth 19:13 FROGGS joined 19:14 guru left
raydiak hm trying to clone a git repo on hack is coming in at like < 100 KiB/s? 19:15
moritz raydiak: from github? 19:17
raydiak moritz: yeah whatever comes in from rakudobrew build moar 19:18
swung up eventually, averaging around 150 or 200 now
moritz raydiak: I'm cloning perl6/mu now, at 3 MiB/s 19:19
raydiak oh, maybe that's why :)
moritz raydiak: no, I started after you, just to check if I can reproduce :-)
raydiak no idea, but everything it's cloning is crawling
I haven't done anything abnormal to my account yet even! 19:20
xfix Only one person uses the internet.
And it's used by 'git'... hm...
(well, and another for irssi, but that shouldn't have used too much bandwidth)
raydiak heh it's still trying to get through the 2nd clone in the process 19:21
FROGGS jnthn: halp 19:22
jnthn: I am going nuts (I'm hacking the codegen for while/until loops)
moritz sends FROGGS++ a nutcracker 19:23
xfix Hm, git is running 13 minutes now.
raydiak afk, back in a few 19:28
FROGGS jnthn: it is this and I don't get the error message: gist.github.com/FROGGS/98e1a97434c3753dc081
19:29 vendethiel joined
FROGGS jnthn: line 28 in the gist triggers it btw 19:29
TimToady
.oO(I thought moritz had already proven he can reproduce...)
moritz :-) 19:30
19:30 temp-name joined 19:31 flussence joined
temp-name Just grabbed the R* 2014-12 tar.gz. The readme still says "2014.09" at the top. 19:31
moritz :(
temp-name: thanks for telling
temp-name y/w!
moritz does that warrant a point release? 19:32
FROGGS why do we hesitate to just replace that tarball?
moritz FROGGS: cause it's not the version I tagged
FROGGS ahh, okay 19:33
moritz FROGGS: though I guess that shouldn't stop me
+dalek ar: 700fde6 | moritz++ | README:
fix version, temp-name++
moritz oh what the hell
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 :(
tarball updated
FROGGS okay :o) 19:35
moritz++
moritz I once accidentally switched year and month of a release tag
2011.10 instead of 2010.11, or something like that
FROGGS ahh, I remember 19:36
raydiak back
moritz and a year later, it made us trouble because some folks had the old tag, and 'git describe' produced inconsistent numbers
FROGGS yes, I think I made the release that year after
at least I remember having trouble with a release tag like that 19:37
mathw hello!
FROGGS hi mathw
moritz \o mathw, raydiak
19:38 sirdancealot left
mathw is confused 19:38
FROGGS sure, why not :o) 19:39
mathw if I call ncurses' getch() function from Perl 6 via NativeCall, it returns immediately 19:40
the value it returns is 4294967295
FROGGS .oO( I'm puzzled and LEGO'd )
mathw this is very suspicious 19:41
FROGGS mathw: how does your getch sub look like?
moritz m: say 4294967295.base(16)
+camelia rakudo-moar 32c6e4: OUTPUT«FFFFFFFF␤»
moritz -1?
mathw yeah
it's an error code I just wish I knew why it's an error :(
geekosaur at a guess, the fd is set nonblocking
and the error is EAGAIN
19:42 temp-name left
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" :-)
mathw :) 19:43
TimToady m: class F { multi method p ($self where {True}: $foo) { } }
+camelia ( no output )
FROGGS ossum
skids TinToady++ 19:44
oops.
TimToady looks for his tin snips
skids Oh well TimToady++ doesn't need karma anyway :-)
.oO(There are no ways to do it)
19:45
moritz hey, I never realized how composable that nick is. ZincToady and all that :-) 19:46
TimToady not to mention TimFroggy
FROGGS :D
+1
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
return*
mathw hehe yes that comes out as -1 :) 19:49
19:49 FROGGS_ joined, FROGGS[tab]_ joined
mathw right 19:50
yes it's definitely in non-blocking mode on the getch
unfortunately the way I've found to tell it to be in blocking mode... doesn't work
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
mad*
19:50 vendethiel left
TimToady well, but you have 19:51
19:51 FROGGS[tab] left
mathw I suppse so. I *am* using ncurses after all 19:52
19:52 FROGGS left
mathw I'm open to alternatives... 19:52
TimToady don't look at me for answers; I'm madder than you are 19:53
I use raw ANSI sequences
mathw That sounds... joyous
FROGGS_ aye, he's almost like Mad Eye :P
19:53 vendethiel joined
mathw Besides, what I'm doing rather benefits from the demonstratedly working binding to an annoying native library 19:54
This is going to be for a talk
...assuming I can make it work!
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
mathw FROGGS_: unfortunately I really want a blocking read 19:55
FROGGS_ ahh, hmmm
:/
mathw I could just spin around it. That's battery-efficient, right? :D
xfix And I use set_color. 19:56
set_color f54; echo lightred 19:57
FROGGS_ mathw: you could port POE or AnyEvent or whatever is popular from P5 :o)
xfix Until you realize that because of Rakudo quirks, it's completely pointless, as everything is copied thrice. 19:58
(I realized that after porting Sys::Mmap)
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:03
mathw What's the idiomatic way of doing custom constructors for objects - particularly ones with compulsory parameters 20:05
ah, found it 20:09
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…»
raydiak m: class Foo { has $.bar; submethod BUILD (:$!bar!) {}; }; Foo.new(:bar).say; Foo.new.say;
+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…»
_sri why is there a web framework shipping with rakudo star? 20:17
TimToady vendethiel: the problem with redefining -> as an infix is that . is the start of a postfix, not an infix 20:18
20:18 telex left
TimToady and the test for bogus -> is also a postfix 20:18
_sri have we not learned anything from the CGI.pm mess? 20:19
20:20 telex joined
TimToady rakudo star is not core 20:20
it's more like a distro
and distros can put whatever they like
_sri to anyone on the outside rakudo star *is* perl6 20:21
TimToady for now
would someone *please* fork rakudo star? :)
_sri the fact that Bailador ships with rakudo star at least made me reconsider my plans for 2015
TimToady maybe you should fork it then :)
rakudo star is no more "offical" than, say, Ubuntu 20:22
20:22 darutoko left
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.
TimToady for now 20:23
FROGGS_ _sri: create another one, and we happily ship that too :o)
_sri yea, i just came here from the rakudo site
FROGGS_: not getting into a fight, i'll wait and see how things go for Bailador first
xfix I personally consider Rakudo Star to be a snapshot of Rakudo with some useful modules.
TimToady it's like, all we have at the moment is slackware :)
20:24 ab5tract joined
_sri if there's a blessed framework, it may as well get some time 20:24
TimToady blessed by whom?
xfix Rakudo Star developers.
TimToady I ain't gonna bless any mere distro
any more than Linus would bless a particular distro, other than by using it 20:25
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.
(because what else... niecza wasn't updated for a long time) 20:27
TimToady some implementations are more equal than others
_sri is very confused now as to which perl6 is the production ready one 20:28
xfix Rakudo.
_sri (or supposed to be soonish) 20:29
TimToady the one that passes the spec tests without fudging :)
xfix As for Star or no star, it doesn't matter (Rakudo Star is just Rakudo with a few builtin modules).
TimToady, then none.
TimToady imagines Rakudo Bang, Rakudo Dollar, Rakudo Sharp... 20:30
xfix Rakudo Version Manager...
TimToady and everyone wants the Rakudo Colon distribution 20:31
lunch &
xfix Rakudo Colon - everything is a colon.
my :variable := 42:
20:32 ab5tract left 20:38 Vlavv left
moritz FROGGS_: will you build an .msi for star 2014.12? 20:40
FROGGS_ I can do that, aye 20:42
moritz nine: I have trouble logging in to your box 20:43
nine: ssh niner.name simply hangs
nine: seems the domain has an AAA record, but it's not reachable via v6 20:44
*AAAA
traceroute6 goes up to hos-tr2.ex3k5.rz10.hetzner.de 20:47
skids
.oO(A=ipv4 AA=drinking AAA=driving AAAA=ipv6)
20:48
TimToady shouldn't they have skipped to ipv7 then?
FROGGS_ >.< 20:50
I bet the PHP folks consider ipv6 a mistake too
20:52 Vlavv joined
TimToady the PHP folks are projecting 20:53
moritz IPHPv6 :-)
IPv6 traffic from and to hack.p6c.org is not getting accounted, btw :-)
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
unless that's short for "Hole Patch" 20:56
moritz "Half Patched" 20:57
TimToady of course, I live in a country that still pretty much in complete denial about IPv6
moritz too many v4 addresses available 20:58
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
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:00
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...
skids Not in an especially publicly routable manner.
flussence yeah, it doesn't work very well, if at all... 21:02
21:02 xfix left
moritz well, my LIR handed my a /56 net when asked for public address :-) 21:02
I guess that should cover my needs in the near to medium future :-) 21:03
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
21:04 mickcy_ca joined
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.
Not that I've had ANY time to deploy it.
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:06
I've got an older one with openwrt installed, but it lacks ADSL2+ apparently so it's stuck at 8Mbps... 21:07
21:11 Mso150_m joined 21:12 cxreg2 is now known as cxreg 21:13 Mso150 left
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:13
timotimo bless is less weird in perl6 compared to perl5 21:14
mickcy_ca That is comforting.
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
moritz mickcy_ca: 1) create a new object with self.CREATE
timotimo i hope that's correct and helpful
moritz mickcy_ca: 2) it starts the attribute initilization
mickcy_ca: doc.perl6.org/language/objects#Obje...nstruction has the user-facing details 21:17
mickcy_ca: also perlgeek.de/blog-en/perl-6/object-c...ation.html
mickcy_ca moritz: Thanks, you are a wonderful resource. 21:18
moritz mickcy_ca: you're welcome
timotimo i used to be quite confused by BUILD and new, but nowadays i grok it quite well
mickcy_ca timotimo: I strongly in the confused boat ... but happily building a new one. 21:19
21:20 vendethiel left 21:21 vendethiel joined 21:23 sirdancealot joined 21:26 zakharyas joined
mickcy_ca Another question pops up ... is use SomeLibrary; lexical or global to all subsequent code? 21:29
timotimo lexical
mickcy_ca Nice clean answer.
timotimo perl6 is a big fan of lexical stuff
m: { use Test; } say GLOBAL::.keys
+camelia rakudo-moar 32c6e4: OUTPUT«===SORRY!=== Error while compiling /tmp/dn85vxdpJ0␤Two terms in a row␤at /tmp/dn85vxdpJ0:1␤------> { use Test; } ⏏say GLOBAL::.keys␤ expecting any of:␤ infix stopper␤ infix or meta-infix…»
timotimo m: { use Test; }; say GLOBAL::.keys 21:30
+camelia rakudo-moar 32c6e4: OUTPUT«Test␤»
timotimo ^- however, you can find the module again in the GLOBAL:: pseudopackage
moritz m: { use Test; plan 1; ok 42 }
+camelia rakudo-moar 32c6e4: OUTPUT«1..1␤ok 1 - ␤»
moritz m: { use Test; plan 1; }; ok 42
+camelia rakudo-moar 32c6e4: OUTPUT«===SORRY!=== Error while compiling /tmp/qUTx_EUDOX␤Undeclared routine:␤ ok used at line 1. Did you mean 'on'?␤␤»
moritz star-m: say 'updated?' 21:31
+camelia star-m 2014.12: OUTPUT«updated?␤»
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.␤»
moritz wrong question asked :-)
star-p: say 'Murcia existe' 21:33
+camelia star-p 2014.12: OUTPUT«Murcia existe␤»
21:37 kaare_ left, Akagi201_ left
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:37
21:38 Akagi201 joined
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:39
moritz mickcy_ca: yes, sounds about right 21:40
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.
masak `BUILD` is for initializing the object. `new` is for providing an API for creating a new object.
moritz let's rephrase
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`.
FROGGS_ moritz: have you checked panda in the 2014.12 star?
`panda --installed list` fails here because of uri 21:44
masak the trick is to keep to the conventions that do you good. :)
timotimo "well thought out practices"
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
right, what masak++ said
FROGGS_: which backend? 21:45
FROGGS_ moar (on windows)
moritz FROGGS_: eeks
FROGGS_ not tested linux (yet)
moritz FROGGS_: I just tried panda on the 2014.12 compiler release, and it worked fine
FROGGS_ hmmm
21:46 denis_boyun joined
moritz FROGGS_: just did a panda-m install Clifford successfully 21:47
but yes, panda-m --installed list also fails here
No such method 'chars' for invocant of type 'Any' in method dispatch:<hyper> at /home/camelia/rakudo-star-2014.12/install/languages/perl6/runtime/CORE.setting.moarvm:1352 in sub listprojects at /home/camelia/rakudo-star-2014.12/install/languages/perl6/lib/Panda/App.pm:53
FROGGS_ yeah... 21:48
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
ild-output => Any, build-passed => Any, test-output => Any, test-passed => Any)
21:48 denis_boyun left
FROGGS_ I dunno where that comes from 21:49
21:49 sirdancealot left
FROGGS_ hmmm, maybe the reference uri points to an old commit? 21:50
referenced*
21:50 Mso150_m left
FROGGS_ ohh yes :o( 21:50
uri needs to be bumped
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
moritz oh, wrong URI?
FROGGS_ yeah
21:51 Mso150_m joined
FROGGS_ the colomon/uri is not listed in the ecosystem anymore, that's the problem 21:52
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
it's git://github.com/perl6-community-modules/uri.git now
+dalek ar: 4c46497 | moritz++ | .gitmodules:
use new URI for URI
21:54
FROGGS_ ohh, the problem is not with panda but with how we generate panda's state in star
spider-mario the values of $*DISTRO and $*KERNEL on my machine seem slightly strange to me
paste.awesom.eu/GfPw
(rakudo 2014.12) 21:56
moritz FROGGS_: moritz.faui2k3.org/tmp/rakudo-star-...2.1.tar.gz another attempt 21:59
masak 'night, #perl6 22:05
FROGGS_ gnight masak 22:06
moritz FROGGS_: with 2014.12.1, panda --installed list works 22:07
timotimo nice catch, froggs
moritz guesses he should have been more patient with feedback before doing the release 22:09
FROGGS_ well, I just test that because there was/is an RT ticket about these stuff on windows 22:12
yay, it works! 22:14
I'll also call the msi 2014.12.1
though, I only built a moar version yet
need to do parrot too
moritz FROGGS_++ 22:15
tag pushed
22:15 mickcy_ca left
moritz tarball uploaded. 22:15
22:16 araujo left
moritz FROGGS_: once you're done with the .msis, can you please announce them on rakudo.org, and mention the point release too? 22:16
22:16 mephinet left
FROGGS_ will do that 22:17
vendethiel TimToady: ah, alright 22:18
22:20 mephinet joined, jack_rabbit joined 22:22 araujo joined, spider-mario left 22:24 araujo left 22:25 araujo joined 22:26 spider-mario joined 22:37 zakharyas left 22:45 Alula left, Alula joined
spider-mario rakudo on parrot is using almost 2GB of RAM to compile Pod/To/HTML.pm 22:54
and it’s still not done after 1300 seconds of CPU time 22:55
what’s going on?
japhb waves tiredly 22:58
How goes it in #perl6 land?
23:00 kjs_ joined
vendethiel m: my \f = { $_ * 3}; say f(5); 23:06
+camelia rakudo-moar 32c6e4: OUTPUT«===SORRY!=== Error while compiling /tmp/NjsDnsCLgh␤Variable '&f' is not declared␤at /tmp/NjsDnsCLgh:1␤------> my \f = { $_ * 3}; say ⏏f(5);␤»
23:11 lsm-desktop left
raydiak \o japhb 23:12
23:12 lsm-desktop joined 23:14 virtualsue left
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:15
raydiak saw similar behavior when first trying to write Pray on r-p (>1 year ago though) 23:20
23:24 pmurias joined
FROGGS_ @windows users, please test: froggs.de/perl6/rakudo-star-2014.12.1-moar.msi and froggs.de/perl6/rakudo-star-2014.12.1-parrot.msi 23:24
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:28
raydiak methinks people are looking at R* as P5 with its included core modules 23:32
the rakudo readme and website also strongly urge R* iirc, giving it a pretty official feel
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:36
23:37 jack_rabbit left, isBEKaml joined
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
_sri pmurias: what raydiak said 23:40
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 left, BenGoldberg joined
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
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:45
apparently I should have started by asking who this "they" was :) 23:46
_sri fwiw. i think node.js got the minimal core thing very right, bundling just enough stuff to bootstrap npm 23:48
23:50 mvuets left
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:52
is it b/c the release is a pre-tested snapshot of a (theoretically) known good working point? 23:54
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)»
vendethiel ^ this probably shouldn't segfault :P
no idea what it should do that, jnthn/ TimToady?
pmurias raydiak: I think the orginal idea was to bundle a known working version of rakudo with a bunch of working modules 23:56
23:57 kst` joined
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
or, well, along those lines...ya know
23:59 kst left
raydiak *distribution 23:59