»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
Circlepuller_ std: say "Hello World!"; fork(); 00:10
p6eval std 77327a4: OUTPUT«ok 00:00 42m␤»
Circlepuller_ std: say "Hello World!"; fork; fork;
p6eval std 77327a4: OUTPUT«ok 00:00 42m␤»
Circlepuller_ wolol
r: say "Hello World!"; fork; fork;
diakopter std is just a parser
p6eval rakudo 3d31af: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&fork' called (lines 1, 1)␤»
Circlepuller_ oh
i see
diakopter with some semantic checking 00:11
sirrobert exit 00:18
diakopter rn: say ?(->{} ~~ ->{}) 00:21
p6eval niecza v22-6-g9e5350d: OUTPUT«Unhandled exception: Excess arguments to ANON, used 0 of 1 positionals␤ at /tmp/cm0MIxj6YU line 0 (ANON @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1052 (Block.ACCEPTS @ 4) ␤ at /tmp/cm0MIxj6YU line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/…
..rakudo 3d31af: OUTPUT«False␤»
diakopter rn: say ?((my \p =p) ~~ p) 00:27
p6eval rakudo 3d31af: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&p' called (line 1)␤»
..niecza v22-6-g9e5350d: OUTPUT«True␤»
diakopter rn: say @0[0-1] 00:31
p6eval rakudo 3d31af: OUTPUT«Cannot use negative index -1 on Any␤ in method gist at src/gen/CORE.setting:9929␤ in sub say at src/gen/CORE.setting:7250␤ in block at /tmp/tgxyvW1yVf:1␤␤»
..niecza v22-6-g9e5350d: OUTPUT«Any()␤»
[Coke] alright, got the dispatcher fixed so it can call the builtins. now to fix the actions so they are generating valid QAST. 00:34
dalek c: bb467ff | (Geoffrey Broadwell)++ | type-graph.txt:
Fix up type-graph.txt to reflect non-Coolness of Iterable
00:53
rl6-bench: c7e2183 | (Geoffrey Broadwell)++ | bench:
Improve documentation of --outfile option
00:54
[Coke] Do we have any debugging aids for nqp grammars/actions? 00:56
[Coke] WOOT: 01:16
sorear \o/
[Coke] > puts hi
hi
sorear [Coke]: '\o/ ' x 10
[Coke] whee. now to fix all the OTHER stuff. 01:55
so, "partcl foo.tcl" doesn't work - just drops me into the interactive mode. am I missing something in MAIN, I wonder... 02:17
nqp: say nqp::box_s(pir::new__PS('OS').chdir(".")); 02:18
p6eval nqp: OUTPUT«Confused at line 2, near "say nqp::b"␤current instr.: 'panic' pc 19999 (src/stage2/gen/NQPHLL.pir:7315) (src/stage2/gen/NQPHLL.pm:324)␤»
[Coke] nqp: say(nqp::box_s(pir::new__PS('OS').chdir("."))); 02:19
p6eval nqp: OUTPUT«Error while compiling block : Error while compiling op call: Error while compiling op box_s: Operation 'box_s' requires 2 operands, but got 1␤current instr.: '' pc 43434 (src/stage2/QAST.pir:15060) (src/stage2/QAST.nqp:2253)␤»
[Coke] box_s isn't documented, but I'd expect it to take a thing to box and to return a string. no?
(a parrot string to a nqp string)
[Coke] nqp: INIT { sub eek() {say(3)}}; eek; 02:31
p6eval nqp: ( no output )
[Coke] argh. have a circular dependency on things that are compiled to PIR. 02:35
diakopter nqp: INIT { sub eek() {say(3)}}; say(eek.HOW); 02:39
p6eval nqp: OUTPUT«get_string() not implemented in class 'NQPClassHOW'␤current instr.: '' pc 791 (src/stage2/gen/NQPCORE.setting.pir:363) (src/stage2/NQPCORE.setting:321)␤»
[Coke] nqp: INIT { sub eek() {say(3)}}; eek(); 02:47
p6eval nqp: OUTPUT«Could not find sub &eek␤current instr.: '' pc 71 ((file unknown):138877613) (/tmp/G6K_yZhnL1:1)␤»
ase good night !perl6! 02:58
my %h = map {split }<DATA>; 02:59
translate it to perl6. Who can help me! 03:00
[Coke]:can you give me aninstruction> 03:02
[Coke] I'm not sure p6 has DATA, perse. 03:04
[Coke] *per se 03:04
nqp: class Tcl { method Str() { return "barf" } }; say ~Tcl.new(); 03:06
p6eval nqp: ( no output )
[Coke] nqp: class Tcl { method Str() { return "barf" } }; say Tcl.new().Str;
p6eval nqp: OUTPUT«Confused at line 2, near "say Tcl.ne"␤current instr.: 'panic' pc 19999 (src/stage2/gen/NQPHLL.pir:7315) (src/stage2/gen/NQPHLL.pm:324)␤»
[Coke] nqp: class Tcl { method Str() { return "barf" } }; say(Tcl.new().Str);
p6eval nqp: OUTPUT«barf␤»
[Coke] nqp: class Tcl { method Str() { return "barf" } }; say(Tcl.new());
p6eval nqp: OUTPUT«Tcl<-1654810237>␤»
[Coke] nqp: class Tcl { method Str() { return "barf" } }; say(~Tcl.new());
p6eval nqp: OUTPUT«Tcl<516662407>␤»
[Coke] ase: I believe the p6 way is to store the data in POD, and then use the POD vars to get at the data. 03:07
cognominal impressive the respective sizes of the settings : 05:30
$ wc -l ~/rakudo/src/core/*.pm | tail -n1
11548 total
$ wc -l ~/rakudo/nqp/src/core/*.pm | tail -n1
375 total
I mean, the difference of size 05:31
m0ss I'm trying to figure out if this would make sense in Perl6's regex: /<~~0>[(a)|(b)]/ 06:01
cognominal I don't think the <~~0> means anything 06:02
rakudo: /<~~0>[(a)|(b)]/ 06:03
p6eval rakudo 3d31af: OUTPUT«===SORRY!===␤Sorry, ~~ regex assertion with a capture is not yet implemented␤»
m0ss will in this /(a)<~~0>/, it would be the same as if you wrote /(a)[a]/
cognominal Apparently rakudo knows better 06:04
m0ss but if the recursive callback occurs beforehand, some cases can be figured out, the above would probably require knowing the future 06:05
maybe damian can do it with positronic variables 06:06
cognominal this ~~n is hardly new, 4 years old, but I never noticed it in the specs 06:07
m0ss it will probably require the start of the called back reference already appeared 06:08
*to have already appeared 06:09
m0ss its similar to Perl5's \g1 regex element, which doesn't try to go forward in its references even though it hypothetically could 06:16
m0ss sorry, not \g1, (?1) is the Perl5 equivalent 06:32
Ulti for @list -> $thing { say $thing; } <--- is $thing automatically local to the for blockoid? 07:35
I instinctually keep writing "for @list -> my $thing {" which makes the compiler shout about invalid types because its exepecting to see Str or similar there 07:37
tadzik it's "my" itself, don't worry :)
Ulti k k 07:37
Ulti thanks tadzik 07:38
sorear Ulti: it's a little bit odd because this is one of the few places where we compromise on the "variables are scoped to the enclosing block" rule 07:43
moritz well, not much different than sub f($x) { $x } where $x is also visible in the signature 07:45
like sub f($x, $y = 2 * $x) { }
arnsholt Since pointy blocks are lambdas (modulo return semantics and such), I think the sub analogy is a good one 07:49
Ulti sorear yeah its just catching me out because I'm not used to it yet 08:05
I was only wondering where the scope was
cognominal perl is not ruby... 08:10
cognominal nor coffeescript either. No implicit declaration in lexical scope for variables. 08:12
mathw "Basic macro support" :o :D \o/ 10:12
bbkr rakudo: :(Str :$name).HOW.say # known bug? 10:47
p6eval rakudo 3d31af: OUTPUT«Null PMC access in get_bool()␤ in attributes at src/stage2/gen/nqp-mo.pm:1151␤ in method perl at src/gen/CORE.setting:791␤ in method gist at src/gen/CORE.setting:786␤ in sub say at src/gen/CORE.setting:7250␤ in method say at src/gen/CORE.setting:781␤ in block…
moritz rakudo: :(Str :$name).HOW 10:51
p6eval rakudo 3d31af: ( no output )
moritz rakudo: :(Str :$name).HOW.Str
p6eval rakudo 3d31af: ( no output )
moritz rakudo: :(Str :$name).HOW.gist
p6eval rakudo 3d31af: OUTPUT«Null PMC access in get_bool()␤ in attributes at src/stage2/gen/nqp-mo.pm:1151␤ in method perl at src/gen/CORE.setting:791␤ in method gist at src/gen/CORE.setting:786␤ in block at /tmp/OZ0O_0TWKs:1␤␤»
moritz bbkr: not known to me
bbkr rakudo: Int.HOW.say 10:52
p6eval rakudo 3d31af: OUTPUT«Null PMC access in get_bool()␤ in attributes at src/stage2/gen/nqp-mo.pm:1151␤ in method perl at src/gen/CORE.setting:791␤ in method gist at src/gen/CORE.setting:786␤ in sub say at src/gen/CORE.setting:7250␤ in method say at src/gen/CORE.setting:781␤ in block…
bbkr not related to signature
bbkr reports
moritz r: Int.HOW.gist(Int) 10:54
p6eval rakudo 3d31af: OUTPUT«Cannot call 'gist'; none of these signatures match:␤:(Mu:U : Mu *%_)␤:(Mu:D : Mu *%_)␤␤ in method gist at src/gen/CORE.setting:784␤ in block at /tmp/aTT4EA_mE0:1␤␤»
bbkr RT #115090 10:55
moritz bbkr++
isBEKaml ola, #perl6! Has there been anything so far on the pugs issue with ghc 7.4? 10:58
moritz not that I'm aware of 11:00
did you open a ticket?
dalek osystem: d71ff5b | Matt++ | META.list:
Added Text--Emotion for text sentiment analysis

Early days on a package for very simple text sentiment analysis in perl6.
osystem: 4306d94 | tadzik++ | META.list:
Merge pull request #14 from MattOates/patch-1

Added Text--Emotion for text sentiment analysis
isBEKaml moritz: no, I just wanted to see if there's anyone else facing the same issue. 11:01
this looks similar to the problem I'm seeing here: stackoverflow.com/questions/9555671...-haskell98 11:03
bbkr loading dylibs in NativeCall works on mac \o/
isBEKaml NativeCall's picking up steam, cool. :) 11:05
bbkr now I can port GeoIP to other OS'es, previously it was mac-only 11:09
isBEKaml ha, awesome! 11:10
bbkr I have access to MaxMind paid libraries so I'll try also add support for them like in P5 GeoIP module 11:21
arnsholt Spiffy! 11:23
Give me a shout if you run into anything odd
Also, if you can think of a way to make the test calling out to libc work on Linux, I'd be very grateful as well =) 11:24
FROGGS arnsholt: whats the problem with libc? 11:29
bbkr rakudo: :().^methods>>.say
p6eval rakudo 3d31af: OUTPUT«perl␤returns␤count␤Unmarshallable foreign language value passed for parameter 'obj'␤ in method dispatch:<hyper> at src/gen/CORE.setting:936␤ in block at /tmp/rrQcZukkaa:1␤␤» 11:30
tadzik arnsholt: that's working, isn't it?
like, is native("")
there should be a fork() example in the repo
[Coke] if I want to override stringification on an nqp object, what method do I override? (neither string nor gist work.) 11:35
nqp: class bar {method Str() {return "str"}; method gist() {return "gist"}}; say bar.new 11:36
p6eval nqp: OUTPUT«Confused at line 2, near "say bar.ne"␤current instr.: 'panic' pc 19999 (src/stage2/gen/NQPHLL.pir:7315) (src/stage2/gen/NQPHLL.pm:324)␤»
[Coke] nqp: class bar {method Str() {return "str"}; method gist() {return "gist"}}; say(bar.new 11:37
p6eval nqp: OUTPUT«Confused at line 2, near "say(bar.ne"␤current instr.: 'panic' pc 19999 (src/stage2/gen/NQPHLL.pir:7315) (src/stage2/gen/NQPHLL.pm:324)␤»
[Coke] nqp: class bar {method Str() {return "str"}; method gist() {return "gist"}}; say(bar.new)
p6eval nqp: OUTPUT«bar<-757475111>␤»
[Coke] nqp: class bar {method Str() {return "str"}; method gist() {return "gist"}}; say(~bar.new) 11:38
p6eval nqp: OUTPUT«bar<1893352701>␤»
[Coke] sorry, that should have read, "neither Str nor gist work" 11:41
moritz [Coke]: I don't think it works with a method, you have to publish a vtable override 11:42
[Coke] grep for vtable in src/Perl6/Metamodel/BOOTSTRAP.pm (in the rakudo repo) 11:44
arnsholt tadzik: It is? When I tried it last (which is a bit back, admittedly) it failed because of Linux library naming shenanigans
tadzik arnsholt: dunno then. I remember it working though :) 11:45
arnsholt is native("libc") went looking for libc.so on the machine I tried, which didn't work because it's named libc.so.6 or something
arnsholt goes testing 11:46
FROGGS perl6 -MNativeCall -e 'sub A ( int ) is native("libc") { }; A(7)' 11:47
Cannot locate native library 'libc.so'
who is searching for the library? parrot?
arnsholt dlopen(3) 11:48
If you try to `ls /lib64/libc.*` you'll see why it can't find libc.so 11:49
tadzik: Well, dlopen("") works, true
But the test is to check that opening .dylibs on OS X works
Er, native("") that is 11:50
FROGGS what about creating a lib on your own? and load this one? 11:51
arnsholt But I wanted to write a test that tests it on OS X while still being an OK test on other OSes, to sidestep the whole "which OS is this again" issue
FROGGS like you already do in tests
arnsholt Hmm. Might work
isBEKaml moritz: I have opened a new Pugs issue. It might gain more eyes looking at it. :) 11:54
arnsholt: sorry if I sound stupid, but shouldn't dlopen work in locating libraries for you? I mean, that's how you locate libraries, right? (or ldd?) 11:57
isBEKaml ls 11:59
dalek volaj: 92a9254 | (Arne Skjærholt)++ | README.markdown:
Fix typo in README.

Some inconsistent naming in the CPointer REPR example, where both FooPointer and FooHandle referred to the same class. Closes #14.
12:00
arnsholt isBEKaml: That's what I thought too, but it seems like it doesn't :/
Although right now there's something odd with loading libs in general on Linux 12:01
isBEKaml arnsholt: Oh, I've seen that sort of things happening on different distributions. Debian keeps libraries in one place, ubuntu another, slackware 32 bit yet another and slackware 64 bit keeps its own 64 bit libraries. Ooh, my shenanigans! 12:02
arnsholt: I don't know if this is what you're seeing - if libc were natively compiled on each of these distributions, dlopen should probably work. 12:04
arnsholt The problem isn't really locations, as far as I can make out, it's naming 12:05
dlopen("libc") goes looking for a file named libc.so, but the actual file is called libc.so.6 which makes everything break horribly =(
isBEKaml Oh. :( 12:06
arnsholt moritz: Older commits in Zavolaj are broken in the same way as you reported. I'm starting to wonder if I haven't broken something via NQP... 12:11
Upping NQP and friends to check 12:13
arnsholt moritz: Using Rakudo and NQP heads the test suite seems to run fine on my machine. What revisions are you on? 12:22
moritz arnsholt: rakudo was up-to-date at the time I posted the ticket 12:23
and nqp was generated with --gen-nqp
arnsholt Hmm. How many commits between NQP_REVISION and NQP head> 12:25
[Coke] moritz: this is for TclList, which started out with a vtable override, which also didn't work. Checking Bootstrap... 12:26
moritz: odd, those are dynamic calls; my overrides (originally from parrot-nqp days) are in the class definition (TclList has an !@array, which handles ...) 12:28
... and get_string isn't one of them (though I implement a get_string method.) Odd. 12:30
moritz note that a method named get_string alone doesn't help at all, since vtables and methods are stored in different places 12:31
[Coke] aye. I know (knew?) that, as I am using "is parrot_vtable_handler" or somesuch. 12:33
just another mysterious "used to work in parrot-nqp" change that does make sense.
moritz oh, I've just seen that the rakudo vtable stuff is implemented in src/Perl6/Metamodel/ParrotInterop.pm 12:35
which calls pir::stable_publish_vtable_mapping__vPP
which seems to take a type object and a hash 12:36
Ulti hmmm my Text::Emotion module doesn't work when installed via panda, it has a problem with the POD parsing: No such method 'content' for invocant of type 'Any' 12:39
the pir file has all that data embedded though 12:40
moritz is "installed with panda" the problem, or is it "precompiled"?
Ulti I can check 12:41
I imagine its precompiled, since panda hasn't done anything wrong and its in the path etc.
[Coke] moritz: so, the "has ... is parrot_vtable_handler" works when using handles for a hasa. how does one specify that a method in the object handles one of the parrot vtables? 12:53
Ulti moritz: precompiled
:[ 12:54
Ulti so if a .pir is sat in a local lib folder you get the same message, if its just the .pm everything works as expected grabbing from $=pod 12:55
[Coke] does that require the code you pointed to in BOOTSTRAP?
Ulti writes a test
[Coke] (looks like the bootstrap code is still pointing the vtable to a handler hasa, not to a method. 12:56
moritz nqp: sub static($code) {
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 2, near ""␤current instr.: 'panic' pc 19999 (src/stage2/gen/NQPHLL.pir:7315) (src/stage2/gen/NQPHLL.pm:324)␤»
dalek rlito: c8718c4 | (Flavio S. Glock)++ | README-perlito5-js:
Perlito5 - js3 - add some ideas to README
moritz nqp: sub static($code) { $code.get_lexinfo().get_static_code() }; class A { }; A.HOW.add_parrot_vtable_mapping(A, 'get_string', static(sub ($self) { 'OH HAI' })); say(A.new) 12:57
p6eval nqp: OUTPUT«A<-1469704912>␤»
moritz nqp: sub static($code) { $code.get_lexinfo().get_static_code() }; class A { }; A.HOW.add_parrot_vtable_mapping(A, 'get_string', static(sub ($self) { 'OH HAI' })); say(~A.new)
p6eval nqp: OUTPUT«A<1078423391>␤»
moritz nqp: sub static($code) { $code.get_lexinfo().get_static_code() }; class A { }; A.HOW.add_parrot_vtable_mapping(A, 'get_string', static(sub ($self) { 'OH HAI' })); A.HOW.compose(A); say(~A.new)
p6eval nqp: OUTPUT«OH HAI␤» 12:58
moritz nqp: sub static($code) { $code.get_lexinfo().get_static_code() }; class A { method Str() { 'OH HAI' } }; A.HOW.add_parrot_vtable_mapping(A, 'get_string', static(sub ($self) { $self.Str })); A.HOW.compose(A); say(~A.new)
[Coke] O_o
p6eval nqp: OUTPUT«OH HAI␤»
moritz not sure if there's syntactic sugar for the method case 12:59
I guess that if you open a ticket, jnthn++ will add something
[Coke] that's a big step from JFW in parrot's nqp. Danke, I'll see if I can incorporate that.
[Coke] moritz: my initial test on that fails for TclList. I'll see what I can do later, but $DAYJOB 13:07
GlitchMr ok, I'm now going to have fun compiling 2012.09 on feather 13:20
hoelzro wonders if the debugger issues he saw in 2012.08 are fixed 13:21
GlitchMr I hope that my automated tools still work 13:22
GlitchMr src/core/you_are_here.pm 13:31
ok
grondilu rn: say [ 1j ]; 13:34
p6eval rakudo 3d31af: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 2, near "1j ];"␤»
..niecza v22-6-g9e5350d: OUTPUT«===SORRY!===␤␤Whitespace is required between alphanumeric tokens at /tmp/9IvZPMHprd line 1:␤------> say [ 1⏏j ];␤␤Two terms in a row at /tmp/9IvZPMHprd line 1:␤------> say [ 1⏏j ];␤␤Parse failed␤␤»…
grondilu rn: say 1j;
p6eval niecza v22-6-g9e5350d: OUTPUT«===SORRY!===␤␤Whitespace is required between alphanumeric tokens at /tmp/NzeNCp3XIE line 1:␤------> say 1⏏j;␤␤Two terms in a row at /tmp/NzeNCp3XIE line 1:␤------> say 1⏏j;␤␤Parse failed␤␤»…
..rakudo 3d31af: OUTPUT«===SORRY!===␤Confused␤at /tmp/dxOJp045M9:1␤»
grondilu rn: say +1j;
p6eval rakudo 3d31af: OUTPUT«===SORRY!===␤Confused␤at /tmp/aXQ0kljFmc:1␤»
..niecza v22-6-g9e5350d: OUTPUT«===SORRY!===␤␤Whitespace is required between alphanumeric tokens at /tmp/WBNQRxA9hj line 1:␤------> say +1⏏j;␤␤Two terms in a row at /tmp/WBNQRxA9hj line 1:␤------> say +1⏏j;␤␤Parse failed␤␤»…
grondilu rn: say [ 1i ]; 13:35
p6eval rakudo 3d31af, niecza v22-6-g9e5350d: OUTPUT«0+1i␤»
grondilu had confused i with j. Please ignore. 13:36
GlitchMr glitchmr@feather ~> perl6-debug 13:37
perl6-debug perl6-debug-2012.08 perl6-debug-2012.09
tadzik GlitchMr: please stop 13:46
GlitchMr sorryt
I accidently typed wall
dalek rlito: 8c165e0 | (Flavio S. Glock)++ | README-perlito5-js:
Perlito5 - js3 - README update
13:51
dalek gs.hs: 3ee7e28 | au++ | pugs-compat/src/Pugs/Compat/Posix.hs:
* Try addressing #25.

   Still downloading Haskell Platform on Windows 8 here, so not
   exactly sure if it's the right fix... Will follow up soon.
14:02
Ulti how can I just directly execute a pir file with parrot? 14:09
moritz parrot file.pir
but that doesn't work for rakudo-generated .pir files
Ulti ok there is something really weird going on, if I directly run parrot it wiggs out not being able to find libraries 14:10
moritz: ahh ok
what do I do with rakudo-generated .pir files?
moritz you 'use' them
(ie makes only sense for module files) 14:11
Ulti in that case yeah, $=pod just doesn't work with precompiled .pir files :( 14:13
$=pod looks like: Array.new(Pod::Block::Named.new(name => "data", config => ().hash, content => Array.new())) regardless of what's in the source 14:15
Ulti I'll try using a section called data 14:15
oh right that is what I used
its just empty
tadzik yeah, that's NYI, sorry 14:17
I don't see why Pod wouldn't work with precompiled modules though
tadzik jnthn is to be asked I guess 14:17
Ulti looks like its implemented for the very top level 14:18
so all the sections are there with empty arrays
I could store all my data as POD sections ;)
Ulti kind of odd it works, apart from if you are working from the pir file, which has the data inside if you read the pir 14:19
gfldex pmichaud: i traced the cygwin problem down a little further: gist.github.com/3812274 14:55
perl -e 'sysrem($foo)' is calling "/bin/sh -c $foo" 14:56
/bin/sh is setting the PWD to $HOME
isBEKaml gfldex: IIRC, sh -l sets it to login mode - that is, $PWD is $HOME. I'm not sure that's what you were looking for. 14:58
gfldex i'm looking for it not doing that 14:59
on cygwin building nqp fails for me because perl5/system() is doing funky stuff
isBEKaml Oh, I see... perl5's system() on cygwin is broken? :/ 15:01
hoelzro fg
oops
isBEKaml hoelzro: It's alright - I typed ls on a windows cmd prompt. =) 15:02
and here on this window too. Muscle memory's stronger than visual signals. :D
skids
.oO(A bot that makes fun of you for typing unix commands in the IRC window.)
15:03
isBEKaml skids: we have some part of it here.
:wq
hugme hugs isBEKaml, good vi(m) user!
isBEKaml :)
gfldex i did some sneaky perl6 pomotion and got a hug offer in return: forums.runicgames.com/viewtopic.php...06#p356721 15:11
PerlJam gfldex: Why is it unlikely that they'll be able to get your script running? 15:13
gfldex i doubt to be able to give any reasonable answer to that question without getting disrepsectful 15:14
doy was wondering if a "hug offer" was a perl6-ism for being trolled 15:21
shachaf hi isBEKaml 15:29
isBEKaml hi
shachaf GHC 7.6 broke a lot of things.
isBEKaml yeah, I was specifically wondering about that.
isBEKaml also, if you see the issue message, I also asked if it was high time we moved out of haskell98 packages wrt Pugs 15:30
shachaf I think the right solution is to do less in the way of pugs-compat wrappers and multiple module imports and more in the way of doing things the way you're supposed to.
shachaf Yep. 15:30
Where's stringtable-atom maintained? 15:31
isBEKaml Right, I guess au++ knows a lot about those kind of things (i.e., dependencies and other stuff, which can potentially break if I get around to fixing these :) 15:32
shachaf Hmm, what happened to all the changes I made to Pugs.hs? 15:36
E.g. it's all back to -fglasgow-exts, and I'm pretty sure I added LANGUAGE pragmas everywhere. 15:37
isBEKaml I'm right now here: gist.github.com/3812560
shachaf How did you get stringtable-atom to build? 15:38
shachaf (containers 0.4?) 15:39
Oh, everything I did is in the branch origin/deprecations... 15:40
Might be worth merging it in. 15:41
(Hmm, not everything. Maybe I didn't push some of it?)
gfldex pmichaud: i think i got it: gist.github.com/3812578
isBEKaml shachaf: I don't remember building stringtable stuff.
shachaf isBEKaml: It's a dependency of pugs-compat
isBEKaml yeah, I can see that in .cabal file - but I don't remember building it at all. But it's there in my .cabal dir. 15:42
shachaf Do you have containers-0.4?
isBEKaml ~/.cabal - that is.
shachaf By the way, I'm not the only person who finds things like github.com/perl6/Pugs.hs/blob/mast...es.hs#L380 worrying, am I?
isBEKaml shachaf: no, not containers 15:43
shachaf Odd.
geekosaur ... that makes my brain hurt
shachaf Also github.com/perl6/Pugs.hs/blob/mast...es.hs#L627 15:44
isBEKaml the bang stuff? forcing eval? 15:46
(Sorry, I'm seriously outta my base here)
geekosaur isBEKaml, extremely questionable Ord instances for types that are not really compare-able 15:47
shachaf "questionable" meaning broken and/or GC-unsafe and/or pointless. 15:48
geekosaur wtf-ed a bit and then closed the windows in the interests of sanity 15:49
isBEKaml hmm, I just found the ![type] stuff odd - haven't seen them before. 15:50
isBEKaml geekosaur: ISTR you were once an active contributor to Pugs. 15:51
geekosaur I poked at it a bit, my biggest contribution was kinda negative though
daxim you deleted code? 15:52
geekosaur I implemented the then-specced file stat stuff, and the problemms I ran into led to their being re-spec-ed differently (and in a way that pugs couldn't implement...)
isBEKaml geekosaur: :/ (what's stopping you from coming back to it? )
I'd love to see Pugs humming along once again.
geekosaur mostly that I have been unemployed and homeless for over a year (just started a new job today, am idling on IRC between phone calls etc.) 15:53
isBEKaml geekosaur: congrats on the new job! (Now, it'd be tough getting you back :) 15:54
geekosaur keep trying to get set up to do development somewhere and then another rug gets yanked out from under me; I kindagave up. (this may change at some point but instability will be lasting at least another month...) 15:55
isBEKaml geekosaur: sorry, with this new job - hopefully, everything gets back to good conditions. 15:58
geekosaur also I'm not as good at haskell as I'd like to be; generall good enough to muddle through xmonad configuration, but pugs source always confused the heck out of me :/ 16:00
admittedly a large chunk of that is probably not so much lack of haskell understanding as it is lack of being inside au's head :)
rjbs What does this item mean in the latest R* release notes? 16:02
* Parameters preceded by a | or \ can no longer have a sigil.
tim__ Hello all, just coming back to perl after a long, long break. Was wondering if anyone can point me in the direction of a document which explains the strategic "big picture" stuff for perl 6? 16:03
FROGGS rjbs: that it is now \foo instead of \$foo
tim__ Google is returning a lot of hits in the 2007/8 period so I was hoping for something a little more recent. 16:05
raiph tim__: perlcabal.org/syn/S01.html 16:06
perigrin one would hope that "big picture / strategic" stuff didn't change every 3-4 years.
geekosaur it's been known to, but I think it's mostly stable these days :)
perigrin I think it's been *fairly* stable for 3-4 years :)
at least I haven't heard any major rumbles
tim__ Last time I was involved we were at the early Apocalypse stage... been a while. 16:07
FROGGS tim__: you can read the specs and tests suites hostet on github too
tim__: see "specs" and "roast" here: github.com/perl6/ 16:08
raiph tim__: S01 is up to date, last edited march this year
rjbs ("Perl 6 Celebrity Roast") 16:10
tim__ Hmmm... Thanks guys, had a quick look. I'm after more of a discussion about whether p6 is switching to a VM... that sort of level.
rjbs Perl 6 is a specification.
tim__ I read somewhere that there will even be different implementations
rjbs There are a number of implementations ongoing. 16:11
geekosaur rnp: "hi".say
p6eval rakudo 3d31af, niecza v22-6-g9e5350d, pugs: OUTPUT«hi␤»
isBEKaml geekosaur: I'm only just out exploring pugs source. I don't know much haskell. :) 16:12
raiph tim__: maybe spend 6 minutes watching this: www.youtube.com/watch?v=tCel6lpDTZI
tim__ So how will that gel with being installed by default on, say, CentOS?
rjbs You'll pick one to install.
same as with ruby
shachaf isBEKaml: My experiences with Pugs source suggest that reading it is not an optimal way to learn Haskell. :-) 16:13
tim__ So p6 won't be part of, say, the Basic Server package that a typical user might select during the install?
raiph tim__: rakudo is one of the Perl 6 compilers
rjbs tim__: Not in the next year, at any rate.
isBEKaml shachaf: I'm not looking for a way to learn haskell. I'm just looking to get Pugs running. :)
shachaf: as to learning haskell, we always have LYAH and RWH. :) 16:14
rjbs RWH?
isBEKaml Real World Haskell
tim__ Cheers, and thanks for that. I'll spend 6 minutes watching that video raiph lined now :) 16:14
raiph tim__: if you just want to get work done, focus on p5 which is in great shape
tim__ Yeah, p5 is still solid. Have been playing with Erlang lately and am not sure how my brain will cope with the shift back to p5. 16:15
raiph #perl6 is at about the point it needs Erlang savvy input regarding p6, so please come back and share :) 16:16
tim__ >> lightweight stackless threads << :) 16:17
isBEKaml shachaf: can you tell me anything about my last gist? Why does my windows cabal build look for Posix based libraries? :/ 16:18
ah, this line - github.com/perl6/Pugs.hs/blob/mast...ix.hs#L58. 16:20
it goes into #else and naturally imported System.Posix.Internals which requires POSIX installed. :/ 16:21
[Coke] is happy to see more pugs interest.
Go change stuff and run spectests!
isBEKaml [Coke]: we first need it built - it doesn't even build at the moment! :)
[Coke] only if you upgrade your haskell. :P
did au's change help? 16:22
isBEKaml [Coke]: man, I used to get it running out of the box on ghc 6.12.3 (slackware 13.0) :)
[Coke]: it's more involved than that. See: gist.github.com/3812560 16:23
shachaf Does it build with the "deprecations" branch?
shachaf Probably not. 16:24
The GHC/libraries folks don't seem to mind breaking things very much.
7.6 was a particular offender, though. 16:25
isBEKaml shachaf: I don't think it'd quite work. I'm on 7.4.1 and it's offended by haskell98. 16:27
shachaf 7.4.1 *should* work with haskell98... 16:27
[Coke] apparently no one has upgraded GHC on feather yet, as the daily builds are still working.
shachaf Anyway, if you're using 7.4, that explains why things are still working for you. :-) 16:28
7.6 is the future, though!
[Coke] needs to push that out tonight, several days worth of data pending.
isBEKaml shachaf: alright, 7.6 is the future, 7.4.1 is the present. :)
shachaf Yep.
isBEKaml shachaf: and, if it were working for me, why would I raise a ticket? :) 16:29
daxim 7.6 broke even Cabal/cabal-install, look at that crap: paste.scsys.co.uk/208879 16:29
shachaf isBEKaml: I mean stringtable-atom
isBEKaml ah
shachaf daxim: Yes, it's a mess.
grondilu spectest for IO::Socket::INET failed for me: paste.siduction.org/20121001163945 16:41
isBEKaml bah, System.Posix.Internals is very much part of base-4.5.x in haskell platform. but no cabal docs. :( 16:53
supernovus gist.github.com/3812996 16:57
dalek gs.hs: bc68e57 | au++ | pugs-compat/src/Pugs/Compat/Posix.hs:
Revert "* Try addressing #25."

OK, that doesn't work. It appears to be a tricky problem... Maybe we will end up splitting the "base" pugs-compat part with the "haskell98" part.
This reverts commit 3ee7e28b42fdfad73dc6bbd69fb3cb7b412063c4.
17:07
supernovus Yay, with the Rakudo patch in my above gist, FastCGI::Protocol can generate valid headers and records! 17:10
sorear good * #perl6 17:39
sjohnson sorear: hi 17:58
sorear sjohnson: hi. 18:02
[Coke] supernovus++ 18:06
supernovus Some of the error messages in rakudo could be better. Like "Confused" with no line numbers or other references, that's really useful. 19:02
dalek rlito: db495c1 | (Flavio S. Glock)++ | misc/V8/perl5ish.patch:
Perlito5 - V8 patch for perl5-ish accessors
19:21
blez V8? 19:49
perl runs on v8?
moritz perlito does 19:51
(it implements a subset of Perl 6)
japhb_ moritz, fglock++ is working on Perlito5 right now, which implements a subset of Perl *5*. 19:56
Perlito is surprisingly diverse in inputs and outputs.
s/outputs/targets/ 19:57
supernovus Is there an equivalent to vec() in Perl 6? 20:03
dalek rlito: 0e2edc9 | (Flavio S. Glock)++ | README-perlito5-js:
Perlito5 - README-perlito5-js - perl5-ish accessors
20:06
aharoni Hallo. I just cloned git://github.com/rakudo/rakudo.git and did Configure, make, make test, make spectest. 20:07
All tests pass except t/spec/S02-types/version.t - Failed tests: 21-26.
Let's say that I'm in the mood for trying to fix them. What would be the right way to run a minimal set of spectests and not the whole suite? 20:08
More generally, is there a beginners' guide for hacking and testing Rakudo? 20:09
[Coke] make t/spec/S02-types/version.t 20:11
that should run that one test.
aharoni [Coke]++ thanks, it was very simple :) 20:13
ajf Wow. Not really a Perl programmer, but Perl 6 looks really nice :) 20:28
diakopter ajf: what do you like about it? 20:34
ajf diakopter: the warts of Perl 5 are gone 20:35
well, easy things are easy, the sigils make sense now
and because of that it means I can harness much of the power of Perl without driving myself insane staring at $, @, and %
ajf diakopter: but also things like lazy evaluation and such, I quite like that 20:36
ajf diakopter: and multiple implementations is of course a good thing 20:37
ajf gtg. 20:50
supernovus Any ideas on how to replicate the behavior of vec() in Perl 6? 20:53
skids supernovus: as an lvalue, or just as an rvalue? as an rvalue just encode the string to a buffer, or all the values in the buffer into an Int, and use shifts/masks. 20:59
sorear supernovus: because of perl 6's love of immutable types, I think lvalue vec() is a bad fit. 21:01
supernovus: probably better would be to use a compact array of uint1 and then coerce it to a Buf when you're done filling it out 21:02
supernovus skids: I am working with Buf's directly, no Str involved here, and for my purposes, lvalue only, no assignments. Basically, I want to be able to do the same as vec($buf, 2, 16);
err, rvalue only, not lvalue, sorry
japhb_ In full (spec) Perl 6, you'd just use an array of int1. We just don't have that implemented yet.
skids Always 16? Should be easy then. 21:03
japhb_ sigh, yes, uint1
supernovus No, some are 8, some are 16. But with 8 I should be able to just do $buf[$offset] ?
skids supernovous: yes as long as your bit-endianness is the way you want it. 21:04
japhb_ Are the 16-bit values stored LE or BE?
supernovus oh, and some are 32
japhb_ supernovus, if it's always on byte boundaries, consider just using Buf.unpack 21:06
sorear subbuf + unpack is what I would do in p5 21:07
skids r: my $b = Buf.new(1,2,3,4,5,6,7,8); my $bits = 16; my $offset = 2; ([+|] $b[(($bits div 8) * $offset) ..^ (($bits div 8) * ($offset + 1))] Z+< (0, 8, 16, 32)).fmt("%x").say; 21:11
p6eval rakudo 3d31af: OUTPUT«605␤»
skids decommute 21:12
supernovus skids: I must take a bit to wrap my brain around that. I'm afraid I'm not the best at math, but it looks pretty nice. Oh you logged off. 21:24
supernovus Hmm, is skids's vec algorithm big-endian or little-endian? According to the Perl 5 docs for vec() it converts to big-endian format ('n'/'N' in pack.) 21:57
supernovus I used sorear's suggestion of subbuf and unpack to remove the need for vec in the FastCGI::Protocol codebase. Crossing my fingers that it'll work :-) 22:27