»ö« 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.
00:06 awwaiid joined 00:07 jeffreykegler joined 00:08 jeffreykegler left, jeffreykegler joined 00:17 colomon left 00:35 pyrimidine left, Chillance left 01:18 grondilu joined 01:21 dayangkun left, colomon joined 01:23 grondilu left 01:37 jeffreykegler left 02:10 FROGGS left 02:23 FROGGS joined 02:46 pyrimidine joined 02:47 autumn is now known as Leafyy, Leafyy is now known as autumn 03:01 pyrimidine left 03:31 uvtc left
colomon rn: say FatRat.new(1, 10**100) 03:37
p6eval niecza v24-23-g0520c7c: OUTPUT«1E-100␤»
..rakudo a3869a: OUTPUT«0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001␤»
benabik That's a lot of zeros, but I somehow doubt that was 100 of them. 03:38
colomon easy enough to check 03:39
r: say [+] FatRat.new(1, 10**100).gist.comb.map(* == '0' ?? 1 ?? 0) 03:40
p6eval rakudo a3869a: OUTPUT«===SORRY!===␤Found ?? but no !!␤at /tmp/4_ixLUJiBa:1␤------> 0**100).gist.comb.map(* == '0' ?? 1 ?? 0⏏)␤Confused␤at /tmp/4_ixLUJiBa:1␤------> 0**100).gist.comb.map(* == '0' ?? 1 ?? 0⏏)␤ expecting any of:␤ …
colomon r: say [+] FatRat.new(1, 10**100).gist.comb.map(* == '0' ?? 1 !! 0)
p6eval rakudo a3869a: OUTPUT«No such method 'count' for invocant of type 'Int'␤ in method reify at src/gen/CORE.setting:5568␤ in method reify at src/gen/CORE.setting:5491␤ in method reify at src/gen/CORE.setting:5491␤ in method gimme at src/gen/CORE.setting:5881␤ in sub at src/gen/CORE.s…
sorear r: say FatRat.new(1, 10**100).subst(rx/0*/, -> $x { $x.chars }, :g)
p6eval rakudo a3869a: OUTPUT«10.99010␤»
sorear r: say FatRat.new(1, 10**100).subst(rx/0+/, -> $x { $x.chars }, :g)
p6eval rakudo a3869a: OUTPUT«1.991␤»
benabik r: FatRat.new(1,10**100).Str ~~ /0\.(0*)1/; say $1.chars 03:41
p6eval rakudo a3869a: OUTPUT«No such method 'chars' for invocant of type 'Any'␤ in block at /tmp/t1K_vcMONZ:1␤␤»
benabik r: FatRat.new(1,10**100).Str ~~ /0\.(0*)1/; say $0.chars
p6eval rakudo a3869a: OUTPUT«99␤»
sorear looks good to me
99 zeros
colomon sorear++
r: say [+] FatRat.new(1, 10**100).gist.comb.map({ $_ == '0' ?? 1 !! 0 }) 03:42
benabik Right, zero indexed. Looked short to me, but I guess my IRC window is wider than I thought.
p6eval rakudo a3869a: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '.⏏' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10511␤ in sub infix:<==> at src/gen/CORE.setting:2885␤ in sub infix:<==> at src/gen/CORE.setting:2885␤ …
colomon r: say FatRat.new(1, 10**100).gist.comb
p6eval rakudo a3869a: OUTPUT«0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1␤» 03:43
colomon r: say FatRat.new(1, 10**100).gist.comb.map({ $_ == '0' ?? 1 !! 0 })
p6eval rakudo a3869a: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '.⏏' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10511␤ in sub infix:<==> at src/gen/CORE.setting:2885␤ in sub infix:<==> at src/gen/CORE.setting:2885␤ …
colomon r: say FatRat.new(1, 10**100).gist.comb.map({ $_ eq '0' ?? 1 !! 0 })
p6eval rakudo a3869a: OUTPUT«1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0␤»
colomon duh
r: say [+] FatRat.new(1, 10**100).gist.comb.map({ $_ eq '0' ?? 1 !! 0 })
p6eval rakudo a3869a: OUTPUT«100␤»
03:47 MikeFair_ joined 04:18 ggoebel_ left 04:23 rindolf joined 04:57 preflex_ joined 04:58 preflex left, preflex_ is now known as preflex 05:12 SamuraiJack joined 05:13 alec__ left 05:17 alec__ joined 05:18 xinming_ joined 05:21 xinming left 05:30 arlinius left 05:59 daniel-s_ joined 06:03 daniel-s left
moritz \o 06:08
sorear o/ 06:11
phenny: tell masak curl masak.org/carl/ # PHP error 06:16
erm
...do I have the wrong bot?
phenny sorear: I'll pass that on when masak is around.
moritz just ESLOW 06:17
sorear aha 06:19
06:25 quester joined 06:27 arlinius joined
[Coke] I got a DB file for aloha if we want to restart him on feather. 06:30
06:37 kaleem joined 06:53 cosimo left 07:04 b1rkh0ff left 07:14 rindolf left 07:15 rindolf joined 07:18 FROGGS left 07:20 b1rkh0ff joined 07:25 rindolf left 07:26 rindolf joined 07:32 rindolf left, rindolf joined 07:47 quester left 08:10 domidumont joined 08:23 thou left
arnsholt o/ 08:24
sjn \o 08:26
08:34 FROGGS joined 08:38 domidumont left 08:39 domidumont joined
arnsholt sjn: Were you the one trying to wrap libxml with Zavolaj at the Oslo hackathon? 08:40
08:41 hoelzro|away is now known as hoelzro 08:42 kivutar joined 08:55 fhelmberger joined 08:58 kresike joined
kresike hello all you happy perl6 people 08:58
sjn arnsholt: no, that wasn't me 08:59
arnsholt: I was one of the guys just hanging out (and organizing a little :) 09:00
arnsholt Ah, right
moritz I remeber it wasn't a #perl6 regular 09:01
but I don't know who :(
arnsholt Oh, well
Maybe I'll get around to it at some point
FROGGS moritz: ohh, that narrows it down :P 09:02
arnsholt Just wanted to point out that libxml bindings would be a lot more feasible now that the sized stuff has landed 09:03
FROGGS I wish I had time to fiddle with it 09:04
arnsholt If you find the tuits, you know where to find me 09:05
OH! And if you want to hack on the SDL stuff again, you can kill the terrible hacks you needed to get sized stuff as well 09:06
09:06 cosimo joined
FROGGS arnsholt: right, thats exactly the point where I want to test this :o) 09:08
these hacks are horrible, and 64bit specific 09:09
arnsholt Excellent. It felt good to be able to close that bug =)
FROGGS ya 09:10
09:10 cosimo left 09:11 cosimo joined
arnsholt 'lo cosimo o/ 09:11
jnthn morning o/
arnsholt Hopefully this visit will be longer than the last one =)
FROGGS hi jnthn
arnsholt G'morning, jnthn 09:12
arnsholt is contemplating NativeCall string handling 09:15
jnthn has meetings :)
arnsholt Lots of time to think of design issues then =D 09:16
moritz arnsholt: please also think of blob handling :-) 09:19
arnsholt Just huge chunks of bytes, you mean? 09:22
sjn arnsholt: If you want some, I have lots of tuits to give away :) 09:23
although they're the wooden flat kind. :D
moritz arnsholt: yes 09:24
jnthn guesses we wanna use Buf for those, or something like that
moritz arnsholt: usually there's an out-of-band signalling of the lenght of the blob somewhere
09:24 marloshouse_ joined
moritz jnthn: yes; the question is just how to design the interface to make sense to to the user 09:24
FROGGS sjn: I'd took one :o)
09:25 benabik left, benabik joined
arnsholt At the NativeCall level, I think the person wrapping the API just has to cope with that part of it on their own 09:25
09:26 marloshouse left, marloshouse_ is now known as marloshouse
moritz arnsholt: well, but somehow we need the ability to turn tuple of (pointer to blob, length) into a Buf 09:26
and the other way round
arnsholt Yeah, that's more annoying 09:27
This, essentially is what I'm pondering really
Since strings in C are blobs =)
FROGGS .oO( Buf.new( pointer => $pointer, length => $bytes ) ) 09:28
sjn FROGGS: feel free to get in touch next time you're in Oslo :)
FROGGS sjn: ohh, Oslo
well, I try not to forget :/
09:29 kst left, kst joined
nwc10 jnthn: do the meetings have food? 09:32
10:03 ObseLeTe joined 10:04 arlinius left 10:18 arlinius joined 10:20 pete_ joined, pete_ is now known as Guest38296
Guest38296 This is the second time I've set aside a couple of days to really learn Perl6, and been caught by the build tool being unable to handle paths with spaces in 10:21
moritz then please use a path without spaces
it's a TODO for us, but it really, really shouldn't stop you 10:22
Guest38296 *shrug* my home dir on my dev box has a space in it
I guess I could build a new VM, or use a different dev box, but most likely, I'll find a different project to hack on
FROGGS Guest38296: spaces are always a problem when compilers re involved... gcc cant handle that too when passing the path as an argument when invoking commands
10:28 Guest38296 left
arnsholt Heh. I actually didn't even know that was a problem 10:29
10:31 daniel-s_ left 10:32 M_o_C joined
moritz IIRC parrot has fixed that problem, but nqp and rakudo haven't 10:37
FROGGS tries 10:38
moritz re-clones parrot with 5 MB/s and still finds it slow 10:40
if the #parrot folks go through on their plan to rip out much stuff, it might be worth considering whether to restart with a slimmed-down repo 10:41
and keep a full-history archive somewhere else
FROGGS might be nice to be able to say --gen-parrot-branch=slim or so 10:43
to be able to switch and compare
moritz --gen-parrot=branch already works 10:45
FROGGS perfect 10:47
Receiving objects: 27% (113060/407957), 30.81 MiB | 224 KiB/s
-.-
10:52 M_o_C left
FROGGS Building NQP ... 11:01
/usr/bin/perl Configure.pl --with-parrot=/home/froggs/dev/folder with spaces/install/bin/parrot --make-install
moritz eeks, this is a nasty problem.
dalek kudo/spacey: ebf80f9 | moritz++ | tools/lib/NQP/Configure.pm:
Small preparation to allow paths with spaces
11:02
FROGGS what if we add quotes to the makefile.in? 11:03
dalek p/spacey: 8282ac5 | moritz++ | tools/lib/NQP/Configure.pm:
Small preparation to allow paths with spaces
moritz FROGGS: well, I fear that'll be necessary
FROGGS: though I'd much rather prefer to add the quotes in Configure.pl
11:06 sqirrel joined
FROGGS moritz: I added quotes to lib/NQP/Configure.pm:293 and it looks good so far 11:07
11:11 pjcj left
moritz FROGGS: that's not the only place that needs patching :-) 11:12
11:12 pjcj joined
moritz FROGGS: wait a sec, I'll commit what I have now 11:12
dalek p/spacey: ae3b47d | moritz++ | tools/ (2 files):
more fixes to allow spacey paths
FROGGS ya, the created makefile is the borke too
this step: /usr/bin/perl /home/froggs/dev/folder with spaces/install/lib/parrot/4.10.0-devel/tools/build/pmc2c.pl 11:13
moritz it now gets further 11:14
up to the linking step
11:14 mtymula joined
mtymula hello i have one complaint...;p 11:14
after ugrating to never version of rakudo
i get problem like thjis: 11:15
Invalid operation on binary string in method uc at src\gen\CORE.setting:2259 in method dispatch:<.=> at src\gen\CORE.setting:993 in block at C:\Test_czy_mobilne\mylib\perl6-http-easy-master\perl6-http-easy- master\lib/HTTP/Easy.pm6:93
it is like i cannot do this: .=
but before i could...
FROGGS ahh, you get a Buf and it expects a Str there 11:16
mtymula but why?? it works with 2012 verion of rakudo 11:17
FROGGS IO::Socket::INET changed 11:18
mtymula so what can i do to upgrate my rakudo and have working program at the same time 11:19
?
FROGGS mtymula: hold on, I'm inspecting HTTP::Easy right now
hmmm, it is calling .get, that is right, .get should give you a Str IMO 11:20
11:24 pmurias left
mtymula FROGGS: so... 11:27
what can I do??
FROGGS wait a few minutes? I'm recompiling my rakudo to do some testing 11:28
mtymula ?? 11:41
11:42 ObseLeTe left
moritz it seems that pbc_to_exe doesn't like spacey paths :( 11:55
FROGGS :/ 11:57
moritz but it's not pbc_to_exe's fault 12:05
mlenz@mlenz-workstation:~/p6/with space/rakudo/nqp$ ../install/bin/parrot_config libparrot_linkflags
-L"/home/mlenz/p6/with space/rakudo/parrot/blib/lib" -lparrot
mlenz@mlenz-workstation:~/p6/with space/rakudo/nqp$ ../install/bin/parrot_config inst_libparrot_linkflags
-L/home/mlenz/p6/with space/rakudo/install/lib -lparrot
so the inst_ variant doesn't escape the path 12:06
WTF.
patched parrot. 12:08
FROGGS I'm still compiling -.- 12:09
12:17 pupoque joined 12:39 nyuszika7h left 12:44 ggoebel_ joined 12:48 drbryane joined 12:57 Gwyxx left 13:02 ggoebel_ left 13:06 SamuraiJack left 13:12 jaldhar left
FROGGS mtymula: what rakudo version are you using? 13:13
13:13 skids left 13:19 shinobicl joined
[Coke] rips some stuff out of parrot in his "sixparrot" fork - commit messages going to #parrot if anyone wants to follow. 13:27
(nothing substanstive yet, just some LHF)
er, *substantive. 13:28
moritz waits for the commit messages
fwiw with my last parrot patch, NQP can now build with a space in the prefix path 13:29
(branch 'spacey')
FROGGS cool
will try in a bit
moritz rakudo will need some Makefile twiddling too 13:30
arnsholt jnthn: I managed to get a segfault while precompiling Test.pm (using a not entirely latest Rakudo) 13:31
jnthn arnsholt: Are you using a later NQP? 13:32
arnsholt NQP is at HEAD
jnthn That'd do it if your Rakudo is more than a day or two old.
STable layout changed a little.
arnsholt That's probably it then 13:33
[Coke] Is nqp/rakudo using parrot's calling conventions at all? 13:38
jnthn yes 13:40
[Coke] Danke. 13:41
13:41 not_gerd joined
not_gerd hello, #perl6 13:41
FROGGS hi not_gerd 13:42
arnsholt jnthn: Yeah, works fine now
not_gerd [Coke]: if you're looking for stuff to do, you could try resurrecting tools/build/nativecall.pl (or alternatively, port the current nci_thunk_gen.pir to Perl) 13:43
nci_thunk_gen.pir pulls in TGE via data_json 13:44
[Coke] not_gerd: I'm working on a slimmed down parrot.
not_gerd [Coke]: I know 13:45
moritz [Coke]: yes, that would allow to slim down parrot by removing data_json and TGE
13:45 Guest20810 left
[Coke] Is nativecall being used? 13:45
I thought rakudo/nqp rolled their own there.
moritz maybe for bootstrappy stuff? no idea
jnthn I'm not aware of it being used 13:46
moritz (I mean, for the parrot build)
if not, we can rip that out too
jnthn The NativeCall Perl 6 module is all using stuff inside NQP
not_gerd afaik it's used for the dynops
jnthn ah 13:47
13:47 Rix left
not_gerd jnthn: is there anything wrong with pulling down NQP/Rakudo dynops into Parrot core? 13:48
13:49 ponbiki joined, ponbiki is now known as Guest8979
jnthn not_gerd: That you'd drag an incredible amount of other stuff with them? 13:50
not_gerd jnthn: as long as these are all specific to the Parrot backend, I don't see anything wrong with that 13:51
13:52 Rix joined
jnthn not_gerd: I don't see what it wins, it just means if I should need to change them they're further away from the things that use them. 13:53
It's probably *possible* to do technically, I'm just not sure what it wins. 13:54
13:56 PacoAir joined 13:57 kaleem left, bluescreen10 joined
not_gerd jnthn: if we take the idea of 'Parrot lite' with the sole purpose of supporting NQP seriously, that's the natural next step after ripping out all parts not used by NQP 13:58
masak is there a RC entry for c2.com/cgi/wiki?BagSumInManyProgrammingLanguages ?
phenny masak: 06:14Z <sorear> tell masak curl masak.org/carl/ # PHP error
masak sorear: I know, it's been that way for a while. :/ 13:59
sorear: I'm sick of MediaWiki, so I'll probably put a really small PHP script there instead that allows me to edit content in the Simplest Possible way.
sorear: anyway, thanks for the reminder. was there something in particular you were looking for?
not_gerd jnthn: ie Parrot ends up as /nqp/backends/parrot-lite right next to /nqp/backends/jvm, ...
nwc10 and upgrade it to dogfood soon after? 14:00
masak nwc10: I'll check whether the web hotel that I'm renting allows Perl 6 at all.
nwc10 I thought that it would be something like that 14:01
they're running Java? Or they consider that more insecure than PHP?
[Coke] not_gerd: anyway, current plan is to remove unused ops, libs, pmcs. to be done, also need to remove pasm (already have a branch somewhere that does 80% of this), tge, pge, pct, parrot-nqp, winxed, and anything that depends on them (unless we need it.) 14:02
14:06 wk joined
moritz pbc_to_exe is written in winxed 14:12
[Coke] only recently. 14:13
but we can always check in the generated C.
(or use more winxed.) 14:14
not_gerd posted gist URI of his notes to #parrot 14:15
14:17 gtodd joined
gtodd hello ... 14:18
pmichaud good morning, #perl6
gtodd can I build/link parrot rakudo with libedit instead of readline? is there a --prefer-libedit option or something? 14:19
[Coke] is libedit a dropin replacement for readline?
nwc10 pmichaud: thanks. I'll have a play. But it might end up being one big messy expression
gtodd mostly .... heimdal postgres client apps use it ... it's small and sometimes just included with the source I think 14:20
pmichaud is there a log I should read that discusses the reason for eliminating deletepos and existspos ?
gtodd sqlite will use it too ... I think it's a option for people who want to ship things using a pure BSD license but upstream folks put readline in the build stuff (autoconf cmake whatever) as the default for whatever historical reasons 14:22
pmichaud oops, kid needs unplanned ride to school -- bbi20
gtodd I don't know much about hacking Configure.pl files but there seems no easy way of pointing rakudo at libedit - I just want readline or libedit for the REPL 14:24
... errm obviously :-[
14:24 Patterner left 14:25 clkao left
jnthn pmichaud: Think it was a day or two ago, maybe a little more..it arose out of reviewing what existspos and deletepos do when tadzik++ was looking at porting them over to the JVM. 14:26
14:26 Psyche^ joined, Psyche^ is now known as Patterner
jnthn gtodd: I know that we get readline support through calling .readline_interactive, which is provided by Parrot. I'd guess if there's any way to make it happen, it'd be done at the point of configuring Parrot. 14:28
14:28 benabik left
gtodd jnthn: ah ok 14:28
was looking at the wrong end
Just thinking of readline again is there a errm perl6 policy statement or longish term development goal of making perl more umm "independent" of system libraries? perl5 on my system (5.17) has no dependencies except what I add through modules. perl6 needs gmp icu readline just to build perl6 argh! :) 14:44
not_gerd r: module Foo { our $*FOO = "foo"; our sub foo { say $*FOO } }; { temp $*Foo::FOO = "bar"; Foo::foo }; Foo::foo 14:45
p6eval rakudo a3869a: OUTPUT«Can only use 'temp' on a container␤ in sub prefix:<temp> at src/gen/CORE.setting:12641␤ in block at /tmp/ILNYDJYQk2:1␤␤»
not_gerd ^ what's the right way to do that
gtodd just realized this is probably a topic that appears ad nauseum so I hereby retract my last comment/question ... but hope to be able to build small light perl6 with less external library linking one day :) 14:46
cheers
moritz not_gerd: there are two ways. The first is to use ordinary variable, and to temp() them
not_gerd: and the nicer variant is to use $*foo variables (without any namescpaces), and define a new one with 'my $*foo' in an inner scope
r: module Foo { my $*FOO = 'foo'; our sub foo { say $*FOO } }; { my $*FOO = 42; Foo::foo() }; Foo::foo(); 14:47
p6eval rakudo a3869a: OUTPUT«42␤Dynamic variable $*FOO not found␤ in method gist at src/gen/CORE.setting:10513␤ in sub say at src/gen/CORE.setting:7598␤ in sub foo at /tmp/WeXlm4WM0y:1␤ in block at /tmp/WeXlm4WM0y:1␤␤»
not_gerd r: 'module Foo { our $FOO = "foo"; our sub foo { say $FOO } }; { temp $Foo::FOO = "bar"; Foo::foo }; Foo::foo 14:48
p6eval rakudo a3869a: OUTPUT«===SORRY!===␤Unable to parse expression in single quotes; couldn't find final "'"␤at /tmp/gtlIwJKH5R:1␤------> $Foo::FOO = "bar"; Foo::foo }; Foo::foo⏏<EOL>␤ expecting any of:␤ statement list␤ prefix or term␤ …
not_gerd r: module Foo { our $FOO = "foo"; our sub foo { say $FOO } }; { temp $Foo::FOO = "bar"; Foo::foo }; Foo::foo
p6eval rakudo a3869a: OUTPUT«bar␤foo␤»
not_gerd ^ I'll go with that, thanks
moritz++
moritz you're welcome
pmichaud back again 14:49
not_gerd r: module Foo { our $FOO; our sub foo { say $FOO } }; { temp $Foo::FOO = "bar"; Foo::foo }; Foo::foo
14:49 skids joined
p6eval rakudo a3869a: OUTPUT«Any()␤Any()␤» 14:49
not_gerd ^ bug? 14:50
moritz wb, pm
r: module Foo { our $FOO = Any; our sub foo { say $FOO } }; { temp $Foo::FOO = "bar"; Foo::foo }; Foo::foo
p6eval rakudo a3869a: OUTPUT«bar␤Any()␤»
moritz yes, bug 14:51
not_gerd needs to leave now
moritz 'our'-Variables have lots of bugs and limitations. We tend to avoid them whenever possible.
not_gerd bye, #perl6 14:52
14:52 not_gerd left
pmichaud jnthn: okay, I'll review the log and comment further if needed :) 14:52
mtymula FROGGS: sorry I was away... 14:57
gtodd
14:57 gtodd left
pmichaud moritz: (slimmed down parrot repo, from log) yeah, I've often thought we should perhaps trim the repo somehow. 14:58
15:00 stopbit joined
FROGGS mtymula: no problem, I'm usually patient 15:00
15:00 pmurias joined, kivutar left
pmurias [Coke]: wouldn't it make sense to just instrument the thing that processes pir to record all the opcodes it uses and measure which ones aren't used by rakudo when running roast? 15:02
[Coke] ah, "just". 15:03
Yes, having a list of used vs. unused opcodes would be most helpful. Thank you for volunteering to do that bit. :)
FROGGS [Coke]++
pmichaud also need to see which opcodes are used by build process, which might be different from set in roast
15:04 Shozan joined
[Coke] pmichaud: and then we have to keep running it once we rip stuff out of the build process. 15:04
15:04 sizz_ joined
[Coke] but having the list run during spectest would be a great start, yes. It's easy enough to find candidates without that, however. 15:05
pmichaud just doing a grep for pir:: and nqp:: in the rakudo and nqp repos should be a really good start
15:06 p5eval_ joined, eviltwin_b joined, cxreg2 joined 15:07 Tene_ joined, Tene_ left, Tene_ joined
moritz (especially if you include generated .pir files) 15:07
15:07 diakopte1 joined, atrodo left, cxreg left, kresike left, geekosaur left, sizz left, raiph__ left, p5eval left, diakopter left, SHODAN left, Tene left, cotto left, eviltwin_b is now known as geekosaur, kresike joined, atrodo joined 15:08 cotto joined, raiph__ joined
FROGGS I really like the idea of having an rakudo-optimized parrot 15:08
pmichaud FROGGS: I like the idea also. Should've happened years ago. :-P
FROGGS maybe I can hook in at some point 15:09
15:09 clkao joined
FROGGS pmichaud: ya, would be a shame to not try to "rescue" all the work that has gone into it 15:09
pmichaud FROGGS: ...unless the rescue ends up diverting too many resources from more productive tasks. 15:12
FROGGS ya, you're right 15:13
atrodo So my understanding from the logs is that rakudo has no use for nci? 15:14
pmurias [Coke]: processing all the *.ops file with s/^(inline?\s*op\b.*)$/$1..recoding stmt.../ (or something similiar) should be enough 15:15
FROGGS mtymula: so what is your rakudo version? 15:17
15:18 drbryane left 15:20 salv0 left, pupoque left
pmurias [Coke]: start of a quick hack for that: pastie.org/6117345 15:24
15:27 kaare_ joined
pmichaud atrodo: it's hard to know exactly what rakudo needs or doesn't need from existing Parrot. As far as we know, Rakudo doesn't have a direct requirement for Parrot's NCI. But we might be overlooking something, or there could be an indirect requirement that we've forgotten about 15:30
if rakudo or nqp are using Parrot's NCI, we'd probably try to refactor to remove that requirement, though, and I suspect such refactoring wouldn't be hard. 15:31
15:34 lizmat left 15:35 salv0 joined 15:36 Liz joined, Liz is now known as Guest93827 15:38 pmurias left
[Coke] pmurias - what is that supposed to get me? a list of parrot ops? 15:39
(there is a tools/dev/sear 15:49
whoops. search_ops.pl
15:53 SunilJoshi joined 15:56 thou joined 16:02 bluescreen10 left
atrodo pmichaud: Okay. [Coke], I'm going to try and rip out nci on your sixparrot branch 16:03
kresike bye folks 16:06
16:06 kresike left 16:07 nyuszika7h joined 16:09 cotto left, cotto joined 16:11 domidumont left 16:16 Gwyxx joined, Gwyxx left 16:20 kaleem joined
[Coke] atrodo: want a commit bit? 16:22
Or are you going to fork my fork?
atrodo [Coke]: If I can do this successfully, yea, I'll come asking for a commitbit
[Coke] hokay. 16:23
masak .oO( spork me on github ) 16:24
16:25 kivutar joined
jnthn decommute & 16:27
16:28 kaleem left, hoelzro is now known as hoelzro|away 16:32 bluescreen10 joined 16:36 FROGGS left 16:37 sweet_kid left, rafl left 16:39 sweet_kid joined 16:40 rafl joined, spider-mario joined 16:41 bluescreen100 joined 16:43 SamuraiJack joined 16:44 bluescreen10 left 16:52 kivutar left 17:09 arlinius left 17:10 Chillance joined, FROGGS joined 17:12 jms53 joined
rurban rakudo will build faster by removing pmc's and ops ??? OMG 17:18
[Coke] not that that's a primary goal, but sure.
pmichaud wonders if his sarcasm detector is needed here. 17:19
17:19 Guest93827 left
[Coke] tries to assume a pleasant effect from other senders unless coke himself is in a really crappy mood. 17:20
gah. *affect.
pmichaud yes, I make that assumption also, which is why I sometimes miss sarcasm. :-) 17:21
FROGGS haha, sheldons wherever I look *g* 17:22
[Coke] rurban: how goes p2? do you think an nqp port will be possible?
17:22 SunilJoshi left 17:23 arlinius joined, not_gerd joined
rurban nqp-p2 is easy, already doable. the compiler and vm is stable. 17:23
FROGGS was p2 the thing which is a she?
rurban I'm using a new parser and grammar soon (leg => marpa)
yes
PerlJam rurban: will you be making an nqp-p2 or leave that to someone else? 17:24
rurban but the AST might need some docs
PerlJam: I will do, but currently I'm busy with something else
[Coke] rurban++
rurban I also have to rewrite my B::C compiler a bit
not_gerd rurban: removing ops and pmcs is more about making potential refactors easier and moving from Parrot-the-ecosystem to Parrot-the-library that powers NQP 17:25
that's my story, and I'm sticking to it ;)
moritz and removing stuff is easy(ish) 17:26
rurban But it will not be faster. you will do more harm than help
[Coke] Just an experiment at this point. Much easier for [Coke] to delete someone else's code than write his own.
moritz so it doesn't need huge benefit to justify it
[Coke] rurban: "harm" ?
rurban You should inspect the calling convention and undo the nci method madness
not_gerd rurban: sure, but that's hard
rurban ops2c should be reverted to the perl5 lib, so that nqp can go away
or use nqp-p6 (i have a branch) 17:27
[Coke] rurban: yes, ops2c is already on the todo list.
17:27 Liz joined
rurban and use bacek's llvm ops2c 17:27
which jit's the ops.
17:27 Liz is now known as Guest94342
rurban Also in some of my branches 17:27
So I guess you'll need nqp for the jit 17:28
I fixed llvm integration already to use static or shared llvm libs
pmichaud rurban: just as a general note, it's easy for people to say what should be done. commits are what count. 17:29
rurban And removing imcc -O1 was also not helpful if you want a faster rakudo
I'm just warning for the next axe which will destroy months of work, and which will not be undoable 17:30
pmichaud reverts are easy. it's easy to abandon branches.
rurban This happened to parrot every two year or so
PerlJam rurban: I think the next axe to fall will likely kill parrot though ... we'll see what happens. 17:31
[Coke] rurban: all this is happening in a branch as an experiment. That's it.
(not even a branch, a branch on a fork, at the moment.)
pmichaud if things work as expected, then nqp unmodified should be able to run on both parrot master and on sixparrot 17:32
17:32 Guest94342 left
rurban Perljam: Only parrot can kill parrot, rakudo can just abandon parrot. 17:32
pmichaud so there's no "axe" that is undoable.
rurban all the previous axes did more harm than benefits
17:32 Liz_ joined
[Coke] rurban: what axes? 17:33
rurban only people with a global understanding should axe out stuff.
your plan to strip parrot to a bare rakudo vm. how should parrot performance be competitive then? 17:34
pmichaud rurban: you're reading too much into "your plan".
rurban think of rakudo AND performance
spider-mario moritz: are you sure that qq["$file" --show-config] will work with paths that contain "? 17:35
rurban well, I don't like useless suicidal tendencies our of shere agony and desperation, and false accusations
spider-mario why not just: open my $CONFIG, '-|', $file, '--show-config' 17:36
rurban out of
pmichaud rurban: it's an experiment. If anyone's accusing you of anything, I missed it.
not_gerd rurban: how does removing unused ops, pmcs and getting rid of nqp-rx hurt performance?
[Coke] rurban: I'm certainly not falsely accusing anyone here.
rurban someone says: threads are useless, someone else removes it.
not_gerd it won't help, but it won't hurt as well
rurban not you coke, someone else
[Coke] rurban: no one is removing threads.
rurban just saying :)
[Coke] rurban: yes, so go fight with him, please, not us.
pmichaud rurban: please don't assume that diakopter++ is speaking for the rest of us. 17:37
rurban just an example. nqp e.g. would be needed for jitting
bacek should be asked
but maybe the perl5 ops2c would work also.
[Coke] yes, that conversation already happened on #parrot. 17:38
rurban parrot compiletime does not worry me. parrot runtime worries me.
[Coke] rurban: yes.
pmichaud rurban: that point has been made repeatedly, by myself included.
rurban oh, sorry. I thought we are on #parrot
[Coke] no one really cares about making compile time faster. side effect only.
rurban I left #parrot out of anger yesterday
pmichaud then you're speaking from an incomplete picture of things. 17:39
perhaps we should limit discussion to only people with a global understanding of stuff. :-)
rurban not_gerd: they were probably needed for some planned subsystem to make things faster, not slower. 17:40
PerlJam Assuming that Rakudo obtains speeds comparable to other language implementations, what's left to make it "production ready" besides threads?
pmichaud "It has to run all of CPAN." 17:41
[Coke] that's insane.
PerlJam ouch.
[Coke] is p5 compatibility mode a requirement?
pmichaud I don't know that "threads" are required for "production ready".
that's what I don't like about the "production ready" term. If we start saying "what does it need to be production ready", it's a slippery-slope to "it has to run all of Cpan" 17:42
[Coke] certainly nice to have. are threads in the spec as first class things, or just side effects about program execution order?
ah, my sarcasm detector was broken.
timotimo pmichaud: i currently can't properly create a ipython kernel implementation because there are no "real" threads in rakudo yet, just one data point
pmichaud [Coke]: I tried to put the quotes there as a sarcasm hint :) 17:43
spider-mario could that not be solved with coroutines that would not necessarily run in parallel?
[Coke] If someone solidifies the spec, I promise to have a go at an implementation with the current parrot threads.
pmichaud timotimo: I agree that real threads prevent the task you're wanting to do. But I've written a ton of production code in my lifetime that doesn't require threads.
[Coke] not going to shake out any issues unless someone starts writing code against them.
pmichaud if we say "Perl 6 isn't production ready because I need X", it'll never be "production ready" 17:44
17:45 SamuraiJack left
pmichaud [Coke]: "solidify the spec" isn't really the model we tend to use. What typically happens is someone prototypes some code to solve a problem, then we try to adapt it to other problems, then we converge on a solution, then we write a spec. 17:45
I.e., we tend to follow an Internet/RFC model (bless the spec after implementation)
PerlJam pmichaud: To obtain feature parity with other languages in roughly the same niche (if there can be such a thing), I think we'll need some answer to "threads". This is how outsiders will judge "production ready".
17:45 kst left
pmichaud PerlJam: "feature parity" is a reasonable approximation 17:46
spider-mario do we really want threads as our concurrency model?
[Coke] pmichaud: ok. then I'm not your guy for the initial implementation, at least not without a lot more tuits.
pmichaud [Coke]: but I can give a concrete and spec'd example.
it's the same one I gave rurban and have been asking about for several years
implement a threaded version of the hyperops
i.e., get @a >>+<< @b to run threaded. 17:47
[Coke] Yes, I'm familiar with that request.
pmichaud that's specced, it's not likely to change, it wants threading.
once we have that example in place, we can look at the underlying threading model and see where the warts are and what else we need to improve threading
there are other places where threading is implicit in Perl 6 17:48
[Coke] "underlying threading model"... which doesn't exist from rakudo's perspective. yes?
just "this would go faster if we used threads".
s/would/might/, even.
pmichaud a bit more than that
we know that the hyperops are intended to be a way for the compiler to exploit and optimize parallelism. the implementation doesn't do that yet. 17:49
neither rakudo nor the Perl 6 specify exactly how that parallelism is to be exploited... specifically because the language designer(s) don't feel they have a strong enough handle on the problem to say "this is the way it should be done" 17:50
s/nor the Perl 6 specify/nor the Perl 6 spec say/
[Coke] OK. let me stop you there: I'm not your guy. 17:51
pmichaud fair enough.
[Coke] So, I'll just focus on things I have proper shaped tuits for.
pmichaud I'm not that guy either. :)
timotimo: my recommendation for progress in your situation is not to ask "where can I find Perl 6's threading model" or "how will threads work in Rakudo?" The way forward is to say "here's what I want threads to look like" or "here's how my application should look" and then we start building libraries or code to make it work. 17:52
many parts of the parrot implementation suffer (with respect to Perl 6, but other languages also) from saying "we think this is what you'll want this feature to look like, so here it is and hopefully you can adapt to it". Instead what is needed is for Parrot's features to be driven and derived directly from the needs of the languages. 17:54
in the case of Perl 6 threading, it needs to be derived from applications that will use it.
timotimo pmichaud: this is pretty easy to do actually. all i need is a straight port of this tiny bit of code: github.com/ipython/ipython/blob/ma...eat.py#L29 17:55
it'd be totally okay if it looks different, i don't have any preferences
pmichaud what would you want that code to look like if written in Perl 6? I suspect you'll want "async" somewhere. 17:56
timotimo the init part is boring, when it comes to threads, it's just the run function that i need
actually, i have no idea why this even has a thread running. probably the zmq.device call being blocking
so if i could just async zmq.device(zmq::FORWARDER, $!socket, $!socket); that would be fantastic 17:57
PerlJam timotimo: you have a perl6-zmq ?
timotimo arnsholt is working on it 17:58
he asked me to help out, i'll have a look, too, but i don't really know what needs twiddling where and when
pmichaud it sounds like something we want as a starting point is a simple implementation of async 18:00
and by "simple" I mean "we know it won't work in the general case" simple.
just something that gets two threads of control running at the same time -- try not to worry about synchronizing variables or the like just yet 18:01
timotimo yes, that would be enough at this point 18:02
$!socket would have to be renamed $!socktype, because it isn't even a socket object that's being passed
at the same time, these device objects are implemented in pyzmq to use threading, too. but that's no big deal, they don't synchronise data with other threads either 18:03
pmichaud it won't be production ready threads by any stretch of the imagination, but we'll at least have something that we can start building from in Parrot, or at least can start to bridge the gap between what Perl 6 wants ("async") and whatever Parrot provides
jnthn home
arnsholt timotimo: Any kind of hacking goes really
timotimo hm, except there's one global ZMQ context object that probably needs to be passed, i'll check.
arnsholt Tests, public perlish interface, and general giving it a spin 18:04
I haven't actually tested any of the C paths yet =)
18:09 cxreg2 is now known as cxreg
moritz I would be grateful if somebody could test the 'spacey' branche of nqp on windows 18:11
after a thorough cleaning, in Rakudo perl Configure.pl --gen-parrot=master --gen-nqp=spacey # in rakudo's 'spacey' branch should be able to build nqp in a prefix with a space in the name 18:12
jnthn moritz: I'll just grab a completely fresh checkout and build that.
arnsholt timotimo: Oh, and if you have any good ideas for HOW we can test the code, I'm all ears 18:13
My current hack of a plan would be something involving Perl 5 code probably =)
timotimo oof, good question. 18:19
arnsholt Yeah, I know =) 18:22
not_gerd bye, #perl6 18:24
18:24 not_gerd left
rindolf Hi all. 18:25
Hi PerlJam , pmichaud
Hi jnthn 18:26
rindolf sprinkles jnthn with some magic vowel dust.
larks I can't wait until the concurrency stuff gets finished
jnthn o/ rndlf :P
rindolf jnthn: heh. 18:27
PerlJam rindolf: greetings
rindolf jnthn: what's up?
PerlJam: what's new?
PerlJam rindolf: the leading "j" *is* a vowel ;)
rindolf inthan.
PerlJam rindolf: nothing much. Looking at play-perl.org now.
rindolf PerlJam: ah.
jnthn rindolf: Not much. Been doing $dayjob stuff today and now I'm home and pondering food and working on some NQP stuff :)
PerlJam larks: why? What do you hope to use it for? 18:29
rindolf PerlJam: ah, I see that it is open source.
cxreg larks: do you mean the parrot threads support?
rindolf Or at least has sources on GitHub.
jnthn: nice. 18:30
PerlJam rindolf: yep, I just cloned it in anticipation of adding a feature or two :)
rindolf moritz: hi, how are you?
PerlJam: great.
moritz rindolf: within one standard deviation of my own, peculiar average 18:32
rindolf moritz: OK.
moritz: any news?
PerlJam: did you also do a GitHub fork? 18:33
PerlJam rindolf: no, not yet.
rindolf PerlJam: ah.
OK.
larks Well, I just like threads and concurrency =x
PerlJam I tend to poke around in a clone before I fork for pull requests.
moritz rindolf: there's always news, depending on how small-scale news you find interesting
the pope retires!
PerlJam larks: bummer. I was hoping that you'd have some specific use-case :)
moritz nqp can now (in a branch) build in a directory with space in the path 18:34
larks Well, I mainly design hardware so I think in parallel. How can I break this problem into parallel tasked, how do I need to sync them, etc etc
rindolf PerlJam: seems like I'll have to buy some en.wikipedia.org/wiki/B%C3%B6rek for the Israeli Perl Workshop (also for other people) because I'm not too fond of the Buddha Burgers' Vegan food served there (second year in a row). 18:35
larks sorry for disappointing you =x
rindolf PerlJam: and I'm gonna give this there - www.shlomifish.org/temp-sherlock-ho...-Awk.xhtml 18:36
As a 10 minutes talk.
arnsholt r: .name.say for Grammars.^methods
p6eval rakudo a3869a: OUTPUT«===SORRY!===␤Undeclared name:␤ Grammars used at line 1. Did you mean 'Grammar'?␤␤»
arnsholt r: .name.say for Grammar.^methods
p6eval rakudo a3869a: OUTPUT«parse␤parsefile␤MATCH␤MATCH_SAVE␤INTERPOLATE␤OTHERGRAMMAR␤RECURSE␤prior␤orig␤target␤from␤pos␤CAPHASH␤!cursor_init␤!cursor_start␤!cursor_start_subcapture␤!cursor_capture␤!cursor_push_cstack␤!cursor_pass␤!cursor_fail␤!cursor_pos␤!cursor_next␤!cursor_more␤!reduce␤!red…
rindolf Does anyone here have any plans on coming to the Israeli Perl Workshop in 25-Feb?
jnthn moritz: Seems the make install-dev in Parrot fails with: 18:39
Error: couldn't copy installable_ops2c.exe to \ops2c.exe: No such file or direct
ory
moritz: Or did I need that at master too?
moritz jnthn: yes, you need parrot/master (which has a fix to pbc_to_exe with spacy paths)
though it should error out eariler in that case 18:40
erm wait, no
18:43 domidumont joined
jnthn moritz: master got further (or different): 18:43
C:\consulting\omg spaces\rakudo\install\lib\libparrot.lib
Error: couldn't copy libparrot.dll to \libparrot.dll: No such file or directory
18:44 M_o_C joined
diakopte1 pmichaud: why would you suggest I suggested to remove threads from parrot? 19:01
moritz jnthn: hm, weird
pmichaud diakopte1: ?? 19:02
19:05 diakopte1 is now known as diakopter 19:07 aindilis left
diakopter pmichaud: nm, you didn't 19:08
19:10 aindilis joined
FROGGS rindolf: 've got no time and no money... sorry 19:11
pmichaud diakopter: I just know that rurban was using your disagreement with him as a basis for criticizing what other people are doing, and wanted to disabuse him of that.
rindolf FROGGS: OK, sorry to hear that. :-( 19:12
19:13 jcrigby joined
FROGGS ya, I'd like be a regular on YAPCs and other workshops and hackathons 19:13
arnsholt FROGGS: Where in the world are you at? 19:14
jnthn dinner, bbl 19:18
19:20 thou left, Chillance left, thou joined 19:21 Chillance joined
moritz google announced that there'll be a GSoC this year 19:21
I wonder if Rakudo should apply as an org separately 19:22
19:22 Tene_ is now known as Tene
masak I think so. 19:23
PerlJam definitely.
masak yet another take on defaults for subtypes: they work as "a constructive proof that the type is inhabited". 19:24
phrase borrowed from en.wikipedia.org/wiki/Dependent_type but applies in this case, too.
FROGGS arnsholt: berlin 19:30
moritz: I already have two shirt but had no chance to mentor at all 19:31
arnsholt Berlin is workable. I think there might be a workshop in Copenhagen coming up. That might be feasible from Berlin? 19:36
moritz the Nordic Perl Workshop, yes
FROGGS well, there is the german workshop next month in berlin 19:37
19:37 perlhelp joined
perlhelp Hi! :) 19:37
FROGGS hi perlhelp
nwc10 shouldn't everyone just go to act.yapc.eu/gpw2013/ and be done? :-)
FROGGS copenhagen, sounds good
arnsholt moritz: Is there a website or something for that yet? 19:38
perlhelp This room does perl 6 but not perl 5?
Hi FROGGS
arnsholt nordic perl workshop on Google only turns up the old versions, but not the upcoming one =(
nwc10 perlhelp: correct. you'd want #perl for your perl 5 questions, I think
FROGGS or irc.perl.org
nwc10 #perl-help on irc.perl.org 19:39
perlhelp May I please kindly ask if there is a big difference between 5 and 6?
nwc10 on irc.perl.org, #perl is a "social" channel
moritz perlhelp: there is
PerlJam perlhelp: yes, there are
FROGGS channel perl-help on irc.perl.org
ohh, you said that already
nwc10 there's less difference between Perl 5 and Perl 6 than (say) between Perl and Python
perlhelp OH, so people cannot discuss perl 5 hee
nwc10 no, we didn't say *that* :-) 19:40
PerlJam perlhelp: Perl 5 and Perl 6 are different languages in the same family. If you're interested in doing things with Perl, you likely want Perl 5. See #perl or the other channels already mentions
er, mentioned
FROGGS only if you want to compare perl 5 statements and perl 6 ones
moritz well, we discuss Perl 5 from a design point of view; we don't help with your Perl 5 problems.
masak <moritz> rindolf: within one standard deviation of my own, peculiar average 19:41
masak gets a vicarious thrill out of that statement
rindolf masak: hi.
moritz masak: :-)
and you know where I stole that phrase from :-)
rindolf PerlJam: perlhelp is a troll.
moritz rindolf: there people who say that about you too. Please moderate yourself with such statements. 19:42
masak perlhelp: hi! 还就不见了!
PerlJam rindolf: if you say so. I tend to give the benefit of the doubt.
19:42 mtymula left
masak perlhelp: we love talking about the difference between 5 and 6 here. but mostly because we're very proud of what we have with 6. 19:43
19:44 perlhelp left
masak perlhelp: I went to FOSDEM the other weekend. to my surprise I had forgotten many of the things that make Perl 6 great. the reaction of my audiences served to remind me. 19:44
perlhelp: aww. :)
er. I explained that badly. 19:46
I know very well what things about Perl 6 I think are nice.
but I had forgotten how much they matter (as improvements) if all you've seen is Perl 5. 19:47
19:47 perlhelp_ joined
perlhelp_ Hi! 19:47
I was disconnected
So i missed a few things
masak perlhelp_: welcome reconnected. :)
perlhelp_: there's a log.
perlhelp_ But people do not know perl 5 here :)
oh ok.
19:47 erry joined
FROGGS masak: ya, I notice everyday how powerful p6 is, when hacken p5 or php 19:47
perlhelp_ bless your kind soul msak
masak Data::Dumper? yes, it's a method.
DateTime? yes, we have it built in. 19:48
Test::More? yes, but we call it "Test" :)
arnsholt XS? No, it's dead and buried
masak classes? yes, of course.
FROGGS (I added gist methods to my packages to have a bit of a perl 6 feeling :o)
masak we got roles, too.
oh, and signatures!
perlhelp_ I do not want to take up room here. But is thee someone with whom I can discuss perl 5 one-on-one in here? 19:49
masak and grammars! <3
geekosaur not really
masak perlhelp_: feel free to lighten your heart.
FROGGS grammars++
arnsholt masak: And a type system (which is optional)
perlhelp_ msask? What do you mean?
masak we even do multiple inheritance if you're into that thing.
perlhelp_: I mean we trust you not to misbehave and go off topic too much. if you do, we'll tell you. 19:50
perlhelp_: this is not a Perl 5 help channel.
most other topics are OK.
19:51 zby_home joined
perlhelp_ I need a lot of help with perl and am scared to derail the room. 19:51
masak if you need a lot of help, there are better channels for that.
moritz perlhelp_: then you should ask for a mentor, but you should ask in Perl 5 room for that
swarley alright, time to work on something that i'm not sure of and should have written down a few days ago
perlhelp_ No! Perl-5 doe not like mentoring.
masak we do mostly Perl 6 here. many of us are proficient in Perl 5, but that's not why we are here.
moritz perlhelp_: or maybe get some professional training
perlhelp_ Maybe I can get a perl 6 mentor then? 19:52
masak sure.
moritz if you're actually willing to learn Perl 6, sure
swarley Perl6 would not exactly give you a drop in replacement of what you would use perl5 for though
At this moment at least
masak depends on how many wheels you're willing to reinvent yourself :)
perlhelp_ yes, i would learn perl 6 but i ned omeone to help me
i just cannot do it alone. 19:53
19:53 jms53 left
perlhelp_ i would reinvent with the help 19:53
swarley I would first ask why you are willing to switch from wanting to learn perl5 to perl6 so quickly? The languages are not similar in many aspects
masak perlhelp_: bash.org/?3936
spider-mario o/ moritz
are you sure that qq["$file" --show-config] will work with paths that contain double quotes?
would that not work instead: open my $CONFIG, '-|', $file, '--show-config'
after all, open is capable of handling the quoting itself 19:54
TimToady r: enum Color (<red green purple> Z=> 1,2,4);
p6eval rakudo a3869a: OUTPUT«===SORRY!===␤Method 'returns' not found for invocant of class 'List'␤»
moritz spider-mario: but iirc the open PIPE form isn't implemeneted on windows :(
perlhelp_ masak: ok, so no mentoring?
spider-mario oh :(
masak perlhelp_: I didn't say that :)
TimToady masak: ^^
moritz spider-mario: I mean, open pipe LIST
masak perlhelp_: but you have to take personal responsibility for your learning.
spider-mario it’s always windows, isn’t it.
swarley If there was no mentoring for perl6 I would be in trouble ;)
masak perlhelp_: no-one can put stuff into your head.
masak submits TimToady's rakudobug 19:55
perlhelp_ I know. But I need help on where to start. Saying "Google" means nothing to me.
I don't know what to google.
swarley But your description of mentoring should be that someone can help you understand something that you tried to learn
perlhelp_ What to read.
masak perlhelp_: here's a 5-second mentoring. write a small program in Perl 6. make it either succeed or fail. report your progress here.
moritz perlhelp_: perl6.org has a pretty good list of links to stuff to read
swarley perl6.org/documentation/
masak perlhelp_: good luck. ask questions as soon as you get stuck.
diakopter perlhelp_: what other programming languages have you used? 19:56
perlhelp_ I tried that with perl-5 and they HATE me
swarley en.wikibooks.org/wiki/Perl_6_Programming
perlhelp_ C++
Stata
Matlab
masak perlhelp_: what, all of them HATE you?
moritz swarley: that's not very up-to-date or complete
perlhelp_ enough do
masak perlhelp_: man, what's the statistical likelihood of that? :P
perlhelp_ i tried to program and told me i was not trying 19:57
swarley moritz; I know, (as I've found) but it's what I've been starting with and it should be enough to get you on the right track shouldn't it?
perlhelp_ i wrote my own code and failed
and said my failures were to rudimentary for their help
that is my understanding
masak hugs perlhelp_ :)
swarley Okay, I actually believe you on that
masak perlhelp_: seems you've had a rough trip.
perlhelp_ yes!!
swarley: you believe me?
I spent 2 weeks doing nothing but lerning perl 5
masak perlhelp_: we're not like that here. this is the nice corner of the Intertubes.
swarley Especially from #perl or #c++/##c 19:58
perlhelp_ I'm really exhausted now
My back is hurting
I' haven't gone to the gym in a long time (or much else for that matter)
and I'm kind of at wits ends now
swarley perlhelp_; what's your motivation for learning?
perlhelp_ I am working on a manuscript (nothing perl related)
And I need to scrape some information off of the internet.
I made a lot of headway in perl5
But I do not know how to get further help 19:59
swarley What information?
perlhelp_ and perl 5 people are trying to kill me
diakopter I doubt that
perlhelp_ swarley: would you like to see an example?
swarley Sure
perlhelp_ diakopter: if you have seen the things they have said to me
i almost had a stroke
masak perlhelp_: some perl 5 people are very tired of helping people who do not ask questions in their favorite way.
swarley Perl5 isn't my "mother tongue" but I can read it fairly well
masak perlhelp_: their behavior often comes off as intolerance. 20:00
perlhelp_ Oh, you want the code or the website ?
swarley The code would help more in this instance
masak don't paste anything on-channel.
paste it to a pastebin service.
swarley www.pastebin.com
perlhelp_ i know. i will do a pste
i cn't do pastebin
paste org ?
masak any is fine.
swarley Any paste service
perlhelp_ patsebin is failing on me for some reasons
20:00 fgomez left
moritz gist.github.com is fine 20:01
perlhelp_ blesss your kind souls
ok give me a few seconds to do the pasting
masak r: say (<red green purple> Z=> 1,2,4).perl
p6eval rakudo a3869a: OUTPUT«("red" => 1, "green" => 2, "purple" => 4).list␤»
geekosaur notes that a number of netnannies block pastebin.com because it has in the past been used to communicate things like stolen credit card numbers
perlhelp_ I'm sorry if my code does not look pretty
spider-mario paste.awesom.eu/ is good
perlhelp_ It is the best I can do
masak perlhelp_: no need to apologise for that. 20:02
geekosaur so I can't reach it from e.g. the local library unless I run tor
masak perlhelp_: we're all on a learning curve.
swarley is learning Go as he implements 6model
perlhelp_ goo.gl/8zTHW
swarley probably not the smartest choice
perlhelp_ I'm having some trouble at the url line: 29-31 20:03
moritz that's not Perl 6 code.
perlhelp_ It only works right now if I manually put it in rather than have perl find it, and I need perl to find it since the address is so aribtrary
no it's not.
I said it was perl 5!
moritz perlhelp_: well, we were very clear. If you get Perl help here, it will be Perl 6 help.
swarley What are you trying to do exactly? 20:04
arnsholt timotimo: *prod?*
perlhelp_ can i show you the website then?
swarley This is for a web app?
perlhelp_ no, i don't think so
it is to scrape information off of it
swarley Why is it that you need to scrape the information? Is there a large amount of data that you need? 20:05
perlhelp_ yes
spider-mario I love Web::Scraper for doing that
masak me too.
perlhelp_ I have a list of 8 million people. For each one, I know their first name, last name, gender, race, year of birth (within +/- 2), and their U.S. state (or country) of birth.
swarley 8 million? 20:06
perlhelp_ yes :(
maybe less
masak that's about one Sweden.
perlhelp_ maybe 4 million
swarley Well, first of all. You probably will not get that many from the site
perlhelp_ but a lot
masak oh. one Norway, then :)
arnsholt r: my $foo is export; say "alive"
p6eval rakudo a3869a: OUTPUT«alive␤»
perlhelp_ ok
let's make it 1,000
arnsholt r: my $foo is export = 4; say "alive"
p6eval rakudo a3869a: OUTPUT«alive␤»
perlhelp_ can we got to the next step then?
diakopter perlhelp_: unfortunately, I don't think we can help you, since we can't do that kind of theng in Perl 6 right now
perlhelp_ huh?
swarley You may be able to get 1,000 before your IP is temporarily blocked 20:07
perlhelp_ perl 6 does not scrape?
no, it will be ok
I've already scraped a lot from the site.
It is ok
There is no TOS
I told them. They know
swarley If they know, they should be able to query the database for you.
perlhelp_ they don't.
swarley But you just said they know 20:08
masak diakopter: hm, what's missing? we have a LWP::Simple, but that's not the same as LWP::UserAgent, I guess.
perlhelp_ yes, i told them
timotimo arnsholt: what's up?
perlhelp_ can we go on to the next step?
diakopter masak: most of the things used in the p5 script - CGI, html parser, dom manipulation 20:09
moritz perlhelp_: translating to Perl 6? sure, your call
perlhelp_ oh that's fine
swarley I suppose I should make typeObject noew
now*
perlhelp_ I meant i thoguht we were stuck on whethe I'm scraping 1,000 times, 5, times, ....
au perlhelp_: hi. if you are in contact with the admins of that site, have you considered signing up for an API key? familysearch.org/developers/docs/g...ng-started
perlhelp_ I haven't even described what I'm scraping
Yes I signed up 20:10
masak diakopter: CGI doesn't seem to be used in the script.
perlhelp_ They are still developing it for this part of the site.
It is not available yet.
masak diakopter: was probably a dead end from earlier development.
perlhelp_ That is how I've been in touch.
arnsholt timotimo: Are you on a UNIX or Windows?
perlhelp_ I will be availbale but is not yet
diakopter masak: ah, good idea
20:10 fgomez joined 20:11 fhelmberger left
masak diakopter: and I bet the HTML::DOM module could be worked around in a pinch. 20:11
timotimo i'm on a unix. i do have a windows nearby, but i don't know how hard it is to set it up to compile and run parrot, nqp and rakudo (i guess it's a huge pain) 20:12
arnsholt I'm on a UNIX, so that's not a problem
It's just one less thing to worry about if I can ignore Windows portability for the time being 20:13
perlhelp_ diakopter: I might not be using the best tools.
These are my gueses
Should I tell you what I'm trying to do?
masak perlhelp_: it's pretty clear from the script what you're trying to do. 20:14
perlhelp_ oh ok. i'm glad it is.
the script is incomplete though
so i did not think it would be.
masak aye, it's incomplete.
perlhelp_ it's nearly complete
masak nice.
20:15 domidumont left
masak best of luck :) 20:15
perlhelp_ there are a few small things I needed to add that I did not yet figure out either.
msask: huh?
masak perlhelp_: this is not a Perl 5 help channel.
perlhelp_ well, if this can be done in perl 6, i'm all ears!!
i'm read to learn perl 6 if so
masak ;)
20:16 erry left
masak general question to channel: can our LWP::Simple do what perlhelp_ is doing with LWP::UserAgent? 20:16
arnsholt star: use NativeCall :EXPORT; say "alive?" 20:18
p6eval star 2012.12: OUTPUT«===SORRY!===␤Error while importing from 'NativeCall': no such tag 'EXPORT'␤»
arnsholt Oh. I'm going to have to put all of the things into a great big module, aren't I 20:20
masak either way, I guess there's room for LWP::UserAgent in the Perl 6 ecosystem ;) 20:21
perlhelp_ masak: what do you mean?
masak perlhelp_: well, we don't load CPAN modules from Perl 6 yet.
perlhelp_: so when we want something like LWP::UserAgent, we tend to implement it ourselves.
perlhelp_ from scratch? 20:22
WOW
masak perlhelp_: (this is temporary. with time, we would like to be able to load Perl 5 modules)
perlhelp_: but yeah, this is why no-one stands up and tells you "yes, you can write this script in Perl 6".
perlhelp_ oh you mean you have to write them?
i'm not following 20:23
masak long term, we would like a Perl 5-Perl 6 bridge.
so Perl 6 can load Perl 5 modules.
now, that won't work for all Perl 5 modules.
20:23 benabik joined
masak does LWP::UserAgent do XS? 20:23
if not, it should be possible to load it in the future.
until then, you'd have to do something in Perl 6 to compensate for the lack of LWP::UserAgent. 20:24
perlhelp_: that's why diakopter was less-than-optimistic about you being able to (easily) port that script to Perl 6.
perlhelp_ oh i see
[Coke] masak: I wonder if #perl6 could set up a #p5 consultancy to help fund sixdev. :) 20:26
masak [Coke]: hah! :D
20:26 brrt joined
masak [Coke]: "Give me your tired, your poor, Your huddled masses yearning to breathe free, The wretched refuse of your teeming shore. Send these, the homeless, tempest-tost to me, I lift my lamp beside the golden door!" 20:27
people like perlhelp_++
perlhelp_ yes, i am an immigrant :) 20:29
masak [Coke]: I'm afraid that if I tell perlhelp_ "can you stick around for a few months? I'm just gonna build LWP::UserAgent", he'll grow impatient and leave. what should I do? :)
perlhelp_ is that what you mean?
i would stick around.
masak perlhelp_: it was a kind of metaphor.
perlhelp_ but i think there will be a lot of modules needed
it might be many months after thta
masak perlhelp_: by self-selection, the people on this channel are a patient bunch. 20:30
moritz nah, if I were patient, I wouldn't hack on perl 6, but wait until others have done it. 20:31
20:31 uvtc joined
perlhelp_ yes i can see!! 20:32
waiting months to write a module
i can see why perl 5 people are bi-otches
uvtc nwc10: you mentioned #perl just a bit ago. (Hm. I like that word, "justabitigo"). So, #perl at irc.perl.org is the social channel. What's the difference between #perl-help on irc.perl.org and #perl at freenode? 20:34
perlhelp_ #perl is a room of bi-otches
uvtc perlhelp_: please be kind :)
swarley Keep in mind, many of us are in that room
nwc10 uvtc: I don't know what if any differences there are betewen #perl-help on irc.perl.org and #perl on freenode. I've used neither 20:35
but I'm told that bother are "help" channels
uvtc nwc10: thanks.
masak (then there's #metallica...) :P 20:36
swarley lolol
20:36 brrt left
FROGGS I have only one experience with #perl-help from a week ago, and I got help from within 15minutes, and the guy/girl was nice 20:36
perlhelp_ FROGGS: is that the same as #perl ?
FROGGS no, I meant #perl-help on irc.perl.org 20:37
perlhelp_ oh, i can't get to that site for some reason 20:38
i go to irc.perl.org and i got a weird pic of an animal
diakopter it's not a website
you have to use an IRC client 20:39
there isn't a web inyerface like the one you're using for freenode
*interface
inyerface too
perlhelp_ xchat?
20:39 zby_home left
perlhelp_ i tried that but failed 20:39
swarley ? 20:40
How did you fail?
geekosaur xchat doesn't come with irc.perl.org in its default network list; you would need to add it 20:42
perlhelp_ it did not connect
i trid to add it
it said it did not work
swarley /newserver irc.perl.org 6667 20:43
geekosaur just worked for me, fwiw
20:44 japhb_ joined
swarley I wonder where I should go from here 20:49
20:50 thou left 20:54 fgomez left 20:55 rindolf left 21:01 kivutar joined 21:06 shinobicl left
perlhelp_ I GOT Some code to work! 21:08
YAY!!!
Take that #perl!!
They said I cannot do anything!!
SUCK IT #perl :P 21:10
:)
21:11 thou joined
PerlJam perlhelp_: #perl6 is not usually that impolite. We give hugs to those that need them. 21:12
perlhelp_ i know. Perl5 tried to kill me this weekend :( 21:13
21:13 kaare_ left
perlhelp_ #perl6 is amazing!!!!!!!!!! 21:13
#perl5 sucks!!!!!!!!!
masak perlhelp_: "you need to learn how to figure out stuff yourself.." :)
jnthn masak: How does one do that?
perlhelp_ what's wrong? some of my code now compiles?
masak :P
perlhelp_: no, I was just reminding you of the link I sent you earlier today. :) 21:14
PerlJam
.oO( jnthn: Just tell me! )
masak perlhelp_: it'd still be a good idea for you to find a place where people actually answer Perl 5 questions, I think.
perlhelp_ yes it would, but i cannot get to that plce 21:15
#perl5 banned me
PerlJam There's a #perl5?
or did you mean #perl? 21:16
uvtc perlhelp_: if you want help with Perl 5 specifically, check out either #perl at freenode, or #perl-help at irc.perl.org. 21:17
PerlJam perlhelp_: there's also #perlhelp on efnet
(if anyone still goes to efnet)
21:17 uvtc left
perlhelp_ #perl5 here banned me 21:17
TimToady um, there's only one person on that channel 21:18
sorear masak: nah, I just saw a link to it and I couldn't remember what was on that site so I checked
21:19 fgomez joined
swarley finished repr.go \o/ 21:19
masak sorear: there were many wondrous things on that site. maybe I can rescue some of the content.
swarley++
swarley And, changes are pushed 21:20
21:20 bruges_ left
jnthn swarley: öl^Wurl? 21:21
oh, guessed it :)
hm, how to read go code... :) 21:22
perlhelp_ so where else is perl5 help? /newserver irc.perl.org 6667 ????
how do i get there?
21:22 bruges joined
swarley It's a little difficult at first :) 21:23
jnthn swarley: On the "// Flattening methods" bit - those exist because on the JVM we handle flattened attributes by including them in a generated JVM type.
swarley Ah. I only threw them in because I wasn't sure what they were for yet
jnthn swarley: I don't know go well enough to be sure, but I'd guess it's closer to C than JVM.
swarley I'm going to tidy up after I get through the code
jnthn In the C implementation on Parrot we don't do such code-gen; the REPRs are really about computing struct layouts. 21:24
I dunno what Go does/doesn't let you do in that regard, I'm afraid, so it's hard to give good hints.
swarley go compiles to machine code, so yeah it's a little more like C
Well, what would you define to be a flattened attribute?
jnthn On the third hand, a 6model VM will probably have the REPRs participate in JIT, so I guess they get their code-gen role after all... :) 21:25
swarley because Go doesn't allow for pointer manipulation so that it's a lot harder to get a segfault
jnthn swarley: Flattened in as in
class A { has $!x; has int $!y; }
The $!x here is a reference to another object
swarley Ah
jnthn The int, however, is not; it's a native interger living in the object body. 21:26
swarley So you're collapsing the reference?
jnthn Yeah.
Well, you could think of it that way :)
swarley Oh, well I think most of the code I'm going to generate is going to use pointers instead of the actual reference for speed
err, actual object*
TimToady everything is really a native, but if you don't specify a native type explicitly, you get an implicit native pointer to a P6 object 21:27
jnthn And there's another way to look at it. :)
swarley oh, hm.
I think I'll remove the flattening. Most of the code should just be moving around pointers anyway 21:28
private static HashMap<String, Integer> reprIdMap = new HashMap<String, Integer>(); 21:32
I'm assuming it's a map with string keys to int values? 21:33
jnthn Correct. 21:36
swarley Wonderful, I really should learn more Java
jnthn Looks like you're translating the repr registry...
At a language level, there's not a lot of Java to learn. :)
swarley Yeah, I just need to learn more of the library 21:39
skids ⱺ.ⱺ joeyh.name/blog/entry/unicode_eye_chart/
jnthn Well, the library is a bigger task ;) 21:40
21:42 benabik left
perlhelp_ swarley: How do I get to: /newserver irc.perl.org 6667 ???? 21:42
swarley Open xchat, close the server list.
21:43 spider-mario left
perlhelp_ close the sever list?!? 21:46
Ayiko hi #perl6!
geekosaur you're specifying a server manually so you don't want the server list, just the main window
Ayiko .u ಅ 21:47
phenny U+0C85 KANNADA LETTER A (ಅ)
Ayiko skids: the eye chart is missing this besides the beer mug >_>
swarley jnthn; It's not really my place to suggest this, but wouldn't it be a bit more efficient to directly use REPR.ID and avoid recomputing the size of reprs here? github.com/jnthn/nqp-jvm-prep/blob...y.java#L27 21:51
21:52 wk left
jnthn swarley: probably, but given that code is only called from setup() and that's only ever called once at startup... :) 21:52
swarley Oh alright
jnthn It's kinda bad style though. jnthn-- 21:53
22:00 skids left
dalek p/rx-portability: 029bf5c | jnthn++ | src/6model/reprs/NFA.c:
NFA REPR serialize/deserialize.
22:02
p/rx-portability: c56d322 | jnthn++ | src/QRegex/Cursor.nqp:
Start !cursor_start refactor.

Currently it is the only thing in the NQP or Rakudo codebase that uses Parrot's multiple return values feature. This splits it up into two routines, one for things that really only want the cursor anyway (and so this will be an efficiency win for them) and one for generated code that wants all the things (which we can still do without allocating).
p/rx-portability: c7f057b | jnthn++ | src/QRegex/Cursor.nqp:
First batch of !cursor_start updates.
22:03 slavik1 left 22:04 slavik1 joined
jnthn oops, the commit message is a lie... 22:05
jnthn figures he'll do the rest and then check if there's actually any noticable difference before worrying...
22:10 sqirrel left 22:12 PacoAir left
swarley reprRegistry.go is done :) (as done as it can be at the moment) 22:13
[Coke] GSOC 2013 announced.
we should try to coordinate with the p5 folks as soon as possible. 22:14
perlhelp_ Coke: why would you wnt to work wth p5? 22:18
They are not as cool as p6!
22:18 MikeFair_ left
perlhelp_ I'm talking about #perl5 22:18
#perl6 is the best!!!
FROGGS perlhelp_: calm down
22:19 MikeFair__ joined
perlhelp_ Ok. I just wnt to expres my love for decent humans who are also developers 22:19
I know I am getting obnoxious
It just seems so rare to find developers who are humans!
Juerd We need human developers because robots write awful code.e 22:20
s/e$//
masak perlhelp_: I suspect many of the other channels are abrasive because the signal-to-noise ratio there is much lower. 22:21
it's like in a (physical) room where the only way to communicate is to shout. 22:22
perlhelp_ perl has no signal nor noise
they just want to plonk and sleep
[Coke] notes that perlhelp_++'s SN ratio is getting lower. 22:23
-> homeish
masak "plonk and sleep" sounds like a good name for a punk band. 22:24
swarley once again, try to remember that practically everyone in here is also in #perl
geekosaur doesn't generally hang there, should probably look in at least 22:25
swarley www.youtube.com/watch?v=aLwaPP9cxT4
masak 'night, #perl6
swarley I find that very interesting
and unrelated
night o/
perlhelp_ swarley: are you here? 22:26
swarley Am I there? No, not usually
geekosaur ...such timing :/ 22:27
perlhelp_ is there nybody in perl #5 with whom i cn please speak? 22:29
like Bingo?
geekosaur is there some reason you need to ask in #perl6?
perlhelp_ yes, i am not allowed in perl#5. i want to know when i may be allowed back. 22:31
i am not getting ny clear info on that
22:31 M_o_C left
perlhelp_ i just want to know what i can do to be allowed back. thta is all. i will do it plus mor. 22:33
22:36 thou left
swarley hm. Not sure what to do now 22:36
Tene perlhelp_: you keep talking about #perl5, and haven't responded to people who have mentioned #perl 22:37
perlhelp_ huh?
Tene Two other IRC channels for perl 5 help have been mentioned too.
perlhelp_ yes, i am confused still on how to get there
swarley help.ubuntu.com/community/XChatHowto 22:38
22:39 bluescreen10 joined
swarley ponders what he should do now 22:43
22:47 kivutar left 22:48 bluescreen10 left, bluescreen100 left 22:49 c1sung_ joined, c1sung left 22:54 mathw left, mathw joined, Gothmog_ left 22:55 pmurias joined 22:56 slavik1 left, slavik1 joined, Gothmog_ joined
swarley Starting on P6Opaque :D I'm more afraid than I look 23:07
23:10 thou joined
jnthn It's less scary than it used to be... 23:10
swarley oh boy 23:12
dalek p/rx-portability: b555f7f | jnthn++ | src/HLL/Grammar.pm:
Update HLL::Grammar calls to !cursor_start.
23:13
p/rx-portability: ff1a336 | jnthn++ | src/QAST/Compiler.nqp:
Update call to !cursor_start in code-gen.

No measurable performane change.
p/rx-portability: 67eb623 | jnthn++ | src/stage0/ (9 files):
Update bootstrap.
p/rx-portability: a7f47d9 | jnthn++ | src/QRegex/Cursor.nqp:
Kill !cursor_start, which used multiple return.
p/rx-portability: 44f22ef | jnthn++ | src/ops/nqp.ops:
Kill dead code.
swarley \o/ 23:14
23:14 perlhelp_ left
japhb_ jnthn++ # Simplifying the porters' jobs 23:21
Self-interested altruism FTW
23:25 benabik joined
jnthn :) 23:27
dalek Heuristic branch merge: pushed 16 commits to nqp by jnthn 23:44
diakopter jnthn++ thanks :)
swarley I should probably do more of repr 23:45
23:45 MikeFair__ left
dalek kudo/nom: 7e22a79 | jnthn++ | / (4 files):
Chase !cursor_start changes.
23:45
jnthn swarley: P6opaque can actually be stubbed for the most part until you want to implement attributes.
swarley: And, moreover, you won't have any way to test it until you've got the KnowHOW bootstrap done. 23:46
Though maybe you did that already... :)
swarley Yeah, I'm pretty much stubbing the REPR right now 23:47
I'm just a little exhausted, exams coming up fast
23:48 MikeFair joined, Liz_ is now known as lizmat 23:49 stopbit left 23:50 Chillance left 23:55 skids joined