»ö« 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.
diakopter is curious why you can't use p6 in this instance 00:00
colomon too damned slow
diakopter how much slower?
(dare I ask)
colomon dunno
diakopter "we'll never know; it never finishes" 00:01
timotimo_ :D
00:01 xinming joined
colomon the work involves scanning 3gigs worth of files. I really doubt either p6 implementation can do that in a reasonable amount of time. 00:07
diakopter well, how much ram do you have 00:08
colomon 32 gigs on the new Linux box
diakopter what kind of scanning? tokenizing? search/replace?
lue How big's the largest file of the bunch? (Perhaps you can get away with a open/process/close loop)
colomon well, in p5 I'm just going to scan it. but ideally I'd parse the files if I was doing it in p6. 00:09
actually, I'm not at all certain how I can easily do this in p5. parsing makes life a lot easier. 00:12
diakopter usually several layers of split on regex can handle anything..
(but of course it's extremely hard on the memory usage) 00:14
.oO( .. tho if your strings implementation were ropey... )
00:15 Liz joined, Liz is now known as Guest71046
colomon you know what? I'm going to do the p6 implementation and see what I can learn from that. 00:16
awkwardly, I think step one may be "reboot laptop". 00:17
diakopter your p6 is statically in your kernel?
colomon errr... no 00:18
macfusion got wedged in a low memory situation, and I'd like to have it up and running so I can edit p6 scripts on the Linux box using TextMate
00:23 colomon joined 00:25 Guest71046 is now known as lizmat 00:26 lustlife joined 00:30 census left 00:36 mberends_ joined, japhb_ left, grondilu left 00:39 mberends left
labster r: my $f = "."; say $f.=path.WHAT for ^6; 00:39
p6eval rakudo a98aa7: OUTPUT«(IO::Path)␤(Str)␤(IO::Path)␤(Str)␤(IO::Path)␤(Str)␤»
labster I feel like something is wrong about that. Like, calling .Str on a Str is a no-op, and the same with .list, but this cycles. 00:40
colomon rn: say "#341".substr(1) 00:46
p6eval rakudo a98aa7, niecza v24-33-gfc6d5fd: OUTPUT«341␤»
00:57 xilo left 00:59 xilo joined 01:01 anuby joined 01:14 hypolin joined 01:20 vaelxon joined
colomon OMG this script is slow running in p6 01:24
I wonder why this particular file is so slow? 01:29
01:34 mavcunha left
timotimo_ there's profiling in place, no? 01:43
would it work in niecza?
01:44 lizmat left 01:45 Liz joined 01:46 Liz is now known as Guest88747
colomon the script should work in niecza too, yes. 01:47
timotimo_ always interesting to know the factor 01:49
01:54 am0c joined 01:55 am0c left, am0c joined
colomon r: for lines() -> $line { say $line; } 01:57
p6eval rakudo a98aa7: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmi…
colomon is completely mystified by the error he is getting from Rakudo 01:58
aha! thank you, niecza 01:59
woah, Match.perl is next to useless when you're matching against an entire file. 02:01
"here, let me print out this entire file for you, because you matched a line in it." 02:18
timotimo_ hahahaha, awesome :) 02:19
colomon actually using .gist instead of .perl is satisfactory. 02:34
02:40 rhinux joined 02:41 rhinux is now known as rhinux_, rhinux_ is now known as rhinux 03:00 fgomez joined 03:06 stevan_ joined 03:07 orafu joined
raiph colomon++ # you know what? I'm going to do the p6 implementation 03:10
colomon it's running now
raiph wow. i only just read about it in the clogs. any estimates? 03:11
colomon it's slow, for sure.
and it's gobbling up memory.
raiph i'd love to see the code 03:12
colomon github.com/colomon/perl6-ISO_10303...circles.pl 03:15
Basically, it's using the STEP file parser (in ISO_10303_21::Grammar) to go through the files looking for TRIMMED_CURVEs which trim CIRCLEs. 03:17
It makes a list of what curve each TRIMMED_CURVE trims, and a list of the CIRCLEs, and then it intersects them. 03:18
afk # sleep 03:24
raiph thx. so you're currently seeing intermittent TRIMMED_CURVE: lines, right?
03:24 rindolf joined
raiph goodnight colomon++ and #prl6 03:24
03:39 fgomez left
diakopter wait so how long did it take 03:39
diakopter will ask again in a few days 03:41
03:45 munavo joined 03:49 fgomez joined 03:51 fgomez left, fgomez joined 03:57 LlamaRider joined
rindolf «Chuck Norris does not need to heat up food. The food is already hot right after he took it out of the fridge.» 03:57
japhb Because of the constant pressure from his Total Gym sales pitch? 04:00
rindolf japhb: what? 04:10
04:15 LlamaRider left 04:16 SamuraiJack joined
diakopter heh 04:26
04:48 preflex_ joined 04:50 preflex_ is now known as preflex 04:55 _jaldhar left 05:00 munavo left 05:10 Heather joined
Heather hello there 05:10
I have a serious question
How can I speed up Perl6 ?
05:41 kaleem joined
[Coke] Heather: if you want to make rakudo on parrot go faster, you can run with --profile, generate a kcachegrind file, and use that to figure out where it's slow. 05:42
Heather <[Coke]> is is parsebale? :) 05:44
let me paste
05:45 kurahaupo left
Heather <[Coke]> how to redirect output ... 05:47
there is something alike 2>1 but I don't remember 05:48
2>&1 ? 05:49
2>filename ! 05:50
got it
05:50 daniel-s joined
Heather [Coke] So here is it: bpaste.net/show/83390/ 05:51
it's 6558 lines !
[Coke] if that's the --profile output, you need to feed it to kcachegrind. 05:52
05:52 SamuraiJack left
Heather [Coke] I need to get kcachegrind somewhere? 05:52
[Coke] aye. what OS are you on? 05:53
Heather [Coke] linux
[Coke] should be available in your package manager.
Heather [Coke] so it's KDE app ?
[Coke] huh. #1 function is <cycle 2>
Heather I see
[Coke] (wtf?)
Heather: Aye. 05:54
er, I think so.
Heather it is
[Coke] ah, turn off cycle detection... 05:55
Heather [Coke] how? 05:56
[Coke] then you can sort by time spent in subs inclusively or exclusively to look for ones with a high percentage, or a high call count. 05:57
View -> Do Cycle Detection (unselect)
defined() is called 408 times, 4% of the app. (infinite is called 140 times, 3.33%) 05:58
Heather [Coke] in kcachegrind? 05:59
defined() ?...
05:59 rindolf left
[Coke] "'2" in CORE.setting is 5.28%. not sure what that is. 05:59
Heather: I'm looking at your dataset in kcachegrind.
05:59 rindolf joined
Heather I'm still building it's deps -_-' 05:59
[Coke] Heather++ 06:05
Heather [Coke] ++ ?
06:07 wk left
diakopter Heather: it's a karma signifier 06:07
[Coke] was bumping yours
Heather ah... 06:08
what is Core.settings anyways
diakopter basically the standard library
Heather it takes 96% -_-'
diakopter what's the ' there 06:09
Heather rain drop 06:10
I'll try to find example 06:13
diakopter example of what 06:14
Heather diakopter smile...
diakopter media.animevice.com/uploads/0/66/15..._super.jpg 06:15
rhinux ah... 06:16
06:18 rindolf left, rindolf joined
Heather [Coke] it's hard to understand what actually calls CORE.settings that much, but maybe it's perl6 loading basic environment? 06:18
[Coke] Heather: the tab on the right shows you the calles. 06:20
*callers
Heather [Coke] I see but it's still hard to detect what calls it because they are not alike a->b they are alike a->b->c->a->x ... 06:22
[Coke] mmm. 06:23
Heather when I use -e "say 1" it's 64 on metamodel and 33 on CORE
[Coke] You are now at the point where I would normally say "hey, jnthn, what does this mean?" 06:24
06:24 raiph joined
diakopter I suspect it's seeing the interpreter loop 06:24
Heather metamodel shows no callers 06:25
06:25 rindolf left 06:26 rindolf joined
Heather profiling is not that easy here ) 06:28
[Coke] yah, it's not trivial, I don't think - definitely ping the .eu crowd when they wake up though. (.eu crowd, consider yourself pinged!) 06:30
FROGGS morning 06:31
Heather morning 06:33
[Coke] and there is trouble, Ok I found big CORE call and I can see all the callers and can detect what caller is problematic but what if I have this caller used once if sub A and once 3000 times in another sub B ... 06:34
FROGGS <Heather> when I use -e "say 1" it's 64 on metamodel and 33 on CORE 06:35
Heather: 64 what?
Heather not sure if I can detect them too if I go to the caller and see if it is used by B much more then by A, but maybe, I should learn it
FROGGS percents
FROGGS ahh
I guess this is about rakudo on parrot ? 06:36
Heather yes 06:37
profiling
06:37 rindolf left
Heather originally looking for way to speed up the script 06:37
06:37 rindolf joined
FROGGS ya, tried something similar last week 06:37
but it is hard to speeden up parrot if you have no knowledge about it :/ 06:38
Heather FROGGS why picked parrot? :) 06:39
FROGGS because you only see the parrot C-calls, no?
06:39 toebu joined
Heather FROGGS no I mean why perl6 main implementation is on parrot ) 06:40
FROGGS Heather: ohh I believe the implementation was originally meant to be a C impl., but then it was split up to be able to do Both Things Right(TM) 06:41
I'm pretty new to perl6, so it might not be 100% accurate 06:42
[Coke] Heather: parrot was originally intended to be a (the) VM for perl6.
zzz. 06:43
Heather I see... 06:44
[Coke] what about JIT?
06:49 rindolf left 06:50 rindolf joined 06:56 wk joined 07:01 odoacre joined 07:02 quester_ joined 07:04 rindolf left, rindolf joined 07:06 mberends__ joined 07:09 toebu left, mberends_ left 07:10 quester_ left
Heather What's major difference of parrot comparing to llvm and mono ? dynamic typing? 07:12
07:16 rindolf left
sorear yeah, parrot was designed to support late-bound languages at a time when mono didn't 07:16
07:16 rindolf joined
sorear llvm is kind of misnamed, it's not really the same kind of animal as { parrot, CLR, JVM } 07:17
07:17 mberends__ left
sorear llvm is a modular native code generator. think "gcc as a library with a sane interface and license" 07:18
mono's JIT can be configured to use LLVM for generating native code
Heather I'm making some googling... Allison is not in canonical, right? :)
sorear mono also has an internal native code generator
Heather sorear which is using gcc? 07:19
07:19 domidumont joined
sorear where did canonical come in to this? 07:19
Heather: nobody who can avoid it uses gcc
Heather sorear it's just I was googing about parrot, it's developers .... 07:20
07:22 _jaldhar joined 07:23 sqirrel joined 07:28 rindolf left 07:29 rindolf joined 07:30 domidumont left, domidumont joined 07:36 mberends joined 07:40 pushkar joined
pushkar hi all 07:40
Heather hi
pushkar hi Heather
can someone please guide me with perl6 development 07:41
I am interested to contribute
moritz pushkar: hello and welcome 07:42
pushkar: what do you want to contribute?
pushkar: you can write modules, tests, documentation, help with the compilers, organize conferences, blog about Perl6 07:43
the possibilities are endless. It really depends on your strengths and preferences
07:43 rindolf left
pushkar Moritz.. thank you so much.. I have production exposure in perl... 07:44
07:44 rindolf joined
Heather then good idea will be start with porting perl5 libraries :) Just my guess. 07:45
pushkar i am interested in developing modules.. but i am really a newbie related to perl6 development procedures
that sounds good to me..
moritz the development procedure is just like in any other languages: write a bit of code and tests, run the tests, fix the code until the tests pass. Then iterate. :-) 07:46
pushkar WOW.. Very good Moritz.. I will start here on :) thanks again.... 07:47
moritz wiki.perl6.org/Create%20and%20Distr...%20Modules might also be of interested 07:48
pushkar: and do feel free to ask questions here, we always try to be helpful
labster pushkar: you can see what we already have at modules.perl6.org/ If you need some inspiration, there's a list of most wanted modules here: github.com/japhb/perl6-most-wanted...modules.md 07:49
07:49 SamuraiJack joined
labster I've been working on modules and it's been a lot of fun. 07:50
pushkar It is of immense relief to me moritz.. You made me comfortable on this IRC.. I will surely get in touch with you.. Let me first go through all links..
Labster : Thanks alot 07:51
07:53 FROGGS left 08:04 rindolf left 08:05 rindolf joined 08:08 wk left 08:14 FROGGS joined 08:17 mberends left 08:18 cognominal left 08:19 Guest88747 left 08:20 rindolf left
tadzik good morning #perl6 08:20
Heather tadzik morning 08:21
08:21 rindolf joined, fhelmberger joined 08:22 cognominal joined 08:27 xinming left 08:31 xinming joined 08:32 _jaldhar left 08:35 rindolf left, _jaldhar joined 08:39 rindolf joined 08:46 isomorphisms left 08:51 kresike joined
kresike hello all you happy and/or unhappy perl6 people 08:51
08:53 wk joined, rindolf left, rindolf joined 08:57 zby_home joined
jnthn morning o/ 09:01
moritz \o jnthn
arnsholt 'lo jnthn 09:02
hoelzro JSON::Tiny takes 2 minutes to decode a 818K JSON file =( 09:13
tadzik did you try profiling?
hoelzro I intend to =)
...does Rakudo Star come with a profiler? 09:14
tadzik yes
perl6 --profile
then push the output in (k|q)cachegrind's throat :)
we should advertise built-in profiler as a kickass feature :) 09:15
09:15 Liz joined
hoelzro I'll try it out in a bit! 09:15
09:16 Liz is now known as Guest84995
moritz mls++ deserves most credit for the profiler 09:19
09:25 Guest84995 left
dalek kudo/nom: 73ca26a | (Timo Paulssen)++ | src/Perl6/Actions.pm:
this makes &?ROUTINE available in regex foo { ... }.
09:25
kudo/nom: f440d46 | (Timo Paulssen)++ | src/Perl6/Actions.pm:
don't give &?ROUTINE to /.../ regexes.
kudo/nom: 3536942 | jonathan++ | src/Perl6/Actions.pm:
Merge pull request #116 from timo/ROUTINE_in_regex

Routine in regex/token/rule
labster JSON::Tiny is about 20% faster than XML for loading ~15kB number formatting files, so I translated the files and started using it instead.
Heather yeah profiling
labster But that's only a drop from 5 to 4 seconds. 09:27
09:28 rindolf left, d4l3k_ joined, bruges_ joined 09:31 Mikey_ joined, jnthn_ joined
nwc10 moritz: nearest U-bahn to the German Perl Workshop - Moritzplatz 09:32
09:36 lestaway joined, hypolin left, lestaway is now known as lestrrat, labster left, d4l3k_ is now known as dalek 09:39 preflex_ joined 09:40 preflex left, preflex_ is now known as preflex, jnthn_ is now known as jnthn 09:42 hypolin joined 09:43 lue joined, Vlavv joined
hoelzro what's the licensing for the Camelia logo? 09:46
jnthn hoelzro: Click the image on perl6.org, it takes you to info about it 09:47
hoelzro ah =/
09:47 dakkar joined
hoelzro well, that's good; I was thinking of using the logo for a site for Perl 6 help 09:48
09:50 _jaldhar left, _jaldhar joined 09:52 hugme joined, ChanServ sets mode: +v hugme 09:53 zby_home left
Heather tadzik I'm not sure but does all perl6 stuff must be installed in parrot site folder? panda too? 09:54
I mean /usr/lib/parrot/5.1.0/languages/perl6/site
tadzik Heather: no, you can choose to install it elsewhere :) 09:57
gtg now, bbl
jnthn errand, bbi30, then should have time to do some Perl 6 stuff :)
nwc10 at which point the yellow light on the goalposts will start to rotate? And everyone should stand back? 09:58
Heather elsewhere 10:01
where package manager must to install it ... 10:02
10:04 hypolin left 10:10 anuby left
hoelzro I'm guessing .accepts_type is called on the HOW object when testing a value against a type signature? 10:11
10:14 bowtie joined 10:15 rindolf joined 10:20 cognominal left
hoelzro how can I create a class that uses a custom metaobject? is there syntax for it, or should I just invoke a method on the metaobject to create the new class? 10:23
rindolf Hi all. 10:26
moritz hoelzro: the latter 10:27
hoelzro ok, I figured =)
rindolf: ahoy
rindolf hoelzro: what's up? 10:28
hoelzro nothing much 10:29
just working, musing about Perl 6 stuff =)
10:29 Liz joined 10:30 Liz is now known as Guest13754
hoelzro if I want to return multiple hashes, what's the right way to return them/destructure them? 10:32
ex. return (%server-filters, %client-filters)
my ( $server, $client ) = get-filters;
Heather hoelzro panda doesn't support destdir aswell?
hoelzro Heather: it does!
via DESTDIR
Heather hoelzro it's prefix though 10:33
hoelzro prefix named wrong imo
hoelzro or am I wrong? 10:37
hoelzro prefix is typically considered the "prefix" of the final install location
DESTDIR is typically where make install will install things 10:38
Heather hoelzro what about $destdir = $prefix;
hoelzro if $prefix is '/usr/local'
then everything will be installed under /usr/local/usr/local/...
Heather hoelzro no... 10:39
hoelzro ?
Heather hoelzro gist.github.com/tadzik/5132411 10:40
hoelzro actually it will be installed under /usr/local
hoelzro I'm not sure how to interpret that gist... 10:41
10:41 Guest13754 left
Heather hoelzro ok ... let start with example. examine you want it on /usr/bin on your system and on /mounted/usr/bin 10:42
hoelzro wait, why both? 10:43
Heather no matters...
logically prefix is /usr/bin and destdir is / first time and /mounted second time
hoelzro prefix is most likely /usr 10:44
Heather yes
agreed
hoelzro but does prefix works for panda?
hoelzro Heather: I don't know 10:45
I just know that DESTDIR does
Heather hoelzro what do you use as destdir?
I hope that it is not /usr :)
hoelzro Heather: I haven't tried it yet, but since I'll be using panda to create packages, I would use the packaging directiroy
*directory
Heather I see... 10:46
what is cwd anyways? 10:47
hoelzro for me, it's where I have the package spec file 10:48
jnthn hoelzro: on meta-programming stuff, see jnthn.net/papers/2012-gpw-meta-programming.pdf
hoelzro thanks jnthn 10:50
Heather hoelzro whats $!x 10:52
hoelzro private member
Heather thanks 10:53
hoelzro it's the problem because I want to make panda to use separated destdir and prefix but I'm not sure if I understand existing content, that's why I'm asking about that 10:55
hoelzro ok, so what are you trying to accomplish? 10:56
Heather hoelzro does it support destdir and must it be implemented or not 10:57
hoelzro from what I've seen, it already supports destdir
Heather then I need to know about custom prefix then 10:58
hoelzro so what do you need custom prefix for? 11:00
Heather hoelzro to install it somewhere alike /usr 11:01
hoelzro Heather: ok, what's your final goal?
Heather hoelzro nothing but clarity
hoelzro so you're curious? 11:02
I'm just trying to understand what you're trying to do =)
Heather hoelzro I should give you a freebsd link to this question 11:03
hoelzro www.freebsd.org/doc/en/books/porter...refix.html 11:04
hoelzro it's how things going in usual
colomon diakopter: "How long did it take?" I left it running before I went to bed. It's still running now. So far it's run against 59 files of 72, but I sorted them so the smallest went first. It's found two files that actually have the characteristics I'm looking for.
nwc10 jnthn: :-( 11:05
t/nqp/49-regex-interpolation.t .. 1/37 Unhandled exception: java.lang.NullPointerException in !INTERPOLATE_REGEX in <anon> in parse in ACCEPTS in <anon> in <anon>
Heather portage (gentoo package manager) is designed to use destdir. all the source based package managers use it. and when destdir is the same as prefix then it's just prefix named wrong.
hoelzro oooh ok
I'm not sure if panda supports prefix
I think it uses whatever prefix Rakudo was installed with 11:06
Heather tadzik ping
hoelzro ufo does, but I can't see same on panda
hoelzro I'm not sure about panda, but I remember that ufo indeed does
but ufo, iirc, doesn't support destdir =(
Heather hoelzro O'rly? :) 11:07
hoelzro (iirc)
Heather hoelzro github.com/masak/ufo/pull/5
hoelzro oh, I saw that =)
Heather hoelzro and because of comment there I'm not sure if panda does :) 11:08
dalek Heuristic branch merge: pushed 31 commits to rakudo/md-nqp by jnthn 11:09
11:09 kaleem left
jnthn nwc10: Which test target? 11:10
nwc10 good question. Working that out
jnthn nwc10: I have a suspicion that file will only work on the self-host, not the cc
nwc10: Because it basically does an eval.
nwc10 I think it's the cc 11:11
jnthn nwc10: Which needs the compiler available in-process.
Heather hoelzro I'm about to finish patch to make panda support prefix in the same way.
nwc10 given that it was just below a failure on test 46, which is the one that needs ICU for the cross compiler, but passes natively
Heather hoelzro I hope that I do it correct
nwc10 but I'm checking
jnthn nwc10: Maybe it's time for me to make "make test" be what "make selftest" is now
nwc10: At this point, that's the target that really matters.
hoelzro I'm not sure adding prefix to panda is such a good idea
Heather hoelzro I'm not sure too 11:12
hoelzro panda figures out its prefix from where the perl6 executable will find modules
Heather hoelzro that's why I'm asking )
hoelzro putting them elsewhere might get confusing
but it'd be nice for something like local::lib
Heather ...
hoelzro basically final path is destdir + prefix so you still can use destidr as prefix if you wish 11:13
hoelzro I don't know about that 11:14
if I set DESTDIR=~/perl6
and do a panda install something
something will be installed to ~/perl6//usr/local/Cellar/rakudo-star/2013.02/lib/parrot/4.10.0/languages/perl6/site/lib or something like that
Heather hoelzro it's correct... 11:16
hoelzro I would not consider that correct 11:17
how you are you supposed to know what to provide to use lib to use that path?
it's specific to the Rakudo star version, as well as the parrot version
you'd have to add ~/perl6/usr/local/Cellar/rakudo-star/*/lib/parrot/*/languages/perl6/*/lib to @*INC 11:18
11:18 rhinux left
Heather hoelzro it's added 11:18
hoelzro where is it added?
Heather hoelzro and it's default path.
hoelzro when you install rakudo or parrot it's added. 11:19
nwc10 jnthn: yes, it's nqptest that fails. test and selftest pass
hoelzro Heather: but that path is not in @*INC
that's why I'm saying specifying a prefix is not a good idea 11:20
Heather hoelzro it will be specified by default if you will not set it
hoelzro at least ufo makes so 11:21
hoelzro I could specify ~/perl6, /tmp/, /var/tmp/perl6, /foo/bar/baz as the destdir
and @*INC wouldn't contain all of them
Heather I don't get last point
hoelzro I think I kind of lost track of what I was trying to say =P 11:22
ok, hang on
I have to think, heh
I know I read this: hoelzro basically final path is destdir + prefix so you still can use destidr as prefix if you wish 11:23
and that didn't seem right to me
Heather hoelzro github.com/tadzik/panda/pull/37
hoelzro ok 11:24
Heather it needs some testing still and I'm not sure how is it now, both flags destdir and prefix must be optional for installer 11:25
moritz regarding the destdir stuff 11:27
IMHO panda should install to the same destdir as rakudo was
because then rakudo will find the modules
so I don't see why panda need patches at all
what's the value of installing to some location where rakudo can't find the modules? 11:28
Heather moritz another distribution
moritz doesn't understand that answer
Heather moritz I can use same package manager to install package for several running operating systems
moritz ah 11:29
bootstrapping, so to say
Heather moritz ?
bonsaikitten what do you think? 11:34
hoelzro by the way it's possible to avoid conflicts with panda deps ( if we don't use --nodeps ) by using blocking packages. so user will be warned and will desire what to use filetools or panda. 11:37
hoelzro ah 11:38
moritz: I think customizing destdir is ok, prefix I'm not sure 11:39
for building packages, I need to do DESTDIR=$pkgdir panda install $pkg
Heather when you say destdir you mean prefix 11:40
hoelzro I'll be back in a bit
lunch time
Heather or not )
hoelzro then we can discuss prefix vs destdir =)
Heather we can't I will go to own birthday party -_-' 11:41
11:42 Heather left
ruoso hoelzro: DESTDIR is a well-defined installation override that is used specifically to say "pretend as if the root of the filesystem was here" 11:48
11:49 pushkar left
ruoso PREFIX has a meaning which I think was established by autotools, to specify the common things between the libdir, the bindir and the includedir. I.e.: $prefix/lib $prefix/include $prefix/bin 11:50
moritz: the reason to allow separate installation of modules is the same reason why local::lib exists. You want to be able to say: "the dependencies for my application can be found in this directory" 11:51
so you can manage and deploy such dependencies independently from the system-wide install as well as indepenedent from other applications. 11:52
11:53 SmokeMachine joined
ruoso this gets slightly more complicated if you have bytecode being generated as well as native bindings, because then your installation need to be made abi-awaer 11:53
which is why perl5 has the arch-specific dir inside the deployment area
12:06 Heather joined
ruoso Heather: please backlog, I've made some comments about the previous discussion 12:07
Heather ruoso backlog? how?
moritz irc.perl6.org/
Heather Heather I see 12:09
Heather is speaking with self 12:10
12:11 rindolf left
Heather rurban I only afraid install syntax and related stuff compatibility 12:11
jnthn Heather: Did you mean ruoso? :) 12:12
Heather yes
ruoso and early it was Panda::Installer.new(resources => $r, destdir => $destdir); now it's Panda::Installer.new(resources => $r, destdir => $destdir, prefix => $prefix); 12:13
but should be fine.... if :$ means optional and it is iirc 12:15
ruoso I guess what I am trying to say is that it would be a shame if panda didn't incorporate the ability of local:::lib
12:20 skids left
dalek p: b0b3603 | jnthn++ | src/ops/nqp.ops:
Implement nqp::captureposprimspec.
12:33
p: 079592c | jnthn++ | src/QAST/Operations.nqp:
Add nqp::captureexistsnamed.
12:33 bowtie left
dalek kudo/md-nqp: ab0d7bd | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Named args and constraints in NQP-based disptacher
12:37
12:41 rindolf joined
timotimo_ thanks for merging my stuff :) 12:44
12:44 lue left
jnthn timotimo_: Thanks for your stuff :) 12:45
[Coke] stackoverflow.com/questions/1538213...e-in-perl6 12:49
arnsholt jnthn: To return to my question from last night (turned out that it was bedtime =), what I want is for nqp::list to return a new VMArray, rather than a QRPA. Should I do that as a new op in nqp.ops or by generating QAST in QAST/Operations.nqp? 12:52
jnthn arnsholt: The way NQPJVM does it is by desugaring it to nqp::create(nqp::hlllist()) or so 12:54
(and then adding the elements)
arnsholt: That in turn hangs off having some configuration/mapping. 12:55
arnsholt Yeah, that makes sense 12:56
jnthn Largely, I'd say see the way we do it over in nqp jvm
However, a word of caution: a lot of stuff currently depends on the thing being a PMC, not some 6model object. 12:57
This is all gonna have to be solved Very Soon anyway because we need it for the JVM stuff
arnsholt That's good to know. I've started a branch locally, so I shouldn't break stuff randomly
jnthn *nod*
hoelzro ruoso: I know, I was trying to relate that, but doing a poor job of it =/
12:58 lue joined
ruoso commute & 12:58
hoelzro I think local::lib (or something like it) support for panda would be nice, but it's not urgent
arnsholt jnthn: But ripping out QRPA entirely is an acceptable goal, right?
jnthn arnsholt: Yes, in so far as it'll promote things being more standard between backends. 13:01
arnsholt: And of course we can start looking at native types.
13:01 am0c left
jnthn arnsholt: er, natively typed arrays I mean 13:01
arnsholt Yeah, sure
13:02 colomon left, snuffles joined
arnsholt I've noticed NQP/Parrot has list_i and friends. That the way you want to do it permanently, or something more parametric-y? 13:03
jnthn I've ended up with them over on the JVM port too. They boil down to a handful of types that parameterize the REPR appropriately, though. 13:04
arnsholt Right. I'll go with that for the time being, then 13:06
13:08 Heather left 13:14 SamuraiJack left, lue left 13:22 bluescreen10 joined
hoelzro hmm 13:25
JSON::Tiny is pretty fast at parsing JSON if it's mostly whitespace. 13:26
jnthn git diff 13:27
oops
13:27 nyuszika7h left, lue joined
dalek kudo/md-nqp: c2fb4bc | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Give NQP-based dispatcher support for 'is default'
13:28
kudo/md-nqp: 8f645ee | jnthn++ | src/ (2 files):
Get junction failover into multi-dispatcher.
13:29 nyuszika7h joined
nwc10 not sure if this is a stupid or RTFM question - rakudo/md-nqp is attempting to port as much of the multidispatch code as makes sense from PIR to NQP? 13:29
jnthn nwc10: From *C* to NQP
13:29 nyuszika7h left
nwc10 aha 13:29
I like self hosting
13:30 nyuszika7h joined
jnthn The theory is that most multi-dispatches are simple enough to have the outcome cached 13:31
And those that aren't involve invoking constraints or doing trial-bindings of signatures.
So those where the cache applies get pretty much no extra overhead, and those where we are doing more work in NQP, not C, will have more work to lose the extra cost in. 13:32
13:33 srini joined 13:34 srini left 13:35 lustlife left
jnthn Also avoids a bunch of inferior runloops 13:37
13:42 lue left 13:45 kaleem joined, JimmyZ joined
hoelzro it would seem that JSON::Tiny is so slow because of object creation 13:48
13:48 Mikey_ is now known as MikeyG
jnthn "object creation" is pretty generic 13:48
Match object creation?
Or something more specific?
hoelzro well, as a test, I decoded this: 13:49
'[' . join(',' ('{}') x 100_000) . ']'
which took a while
this one, however:
'[' . join(',' ('true') x 100_000) . ']'
took a lot less time
13:49 JimmyZ_ joined
JimmyZ_ Good evening, #perl6 13:50
dalek kudo/md-nqp: f4b352b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Correct sentinel.
kudo/md-nqp: 4c470a1 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Invalidate sort order as needed.
kudo/md-nqp: 136dc0b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Fix compiler thunk checking.
13:50 LlamaRider joined
jnthn o/ JimmyZ_ 13:50
nwc10 I'm getting spectests currently on Rakudo HEAD
13:50 JimmyZ left
jnthn nwc10: spectest *fils*? 13:51
13:51 JimmyZ_ is now known as JimmyZ
jnthn *fils* 13:51
FAILS!
nwc10 them yes
t/spec/S32-exceptions/misc.rakudo
jnthn ...
nwc10 t/spec/S32-num/rat.rakudo
plus a bunch of TODO passes
13:51 am0c joined
timotimo_ nwc10: could you be more specific? 13:53
or i could just boot up my machine and do them myself
JimmyZ hi jnthn ;)
nwc10 er, hangon, just nuked the build tree and rebuilding
so "there will be a delay"
jnthn My Rakudo tree just switched from using C-based mutli-dispatch to the NQP one, so you can imagine I have some failures ;) 13:55
nwc10 I do need to check *which* HEAD I was playing with
13:56 lue joined 13:58 lichtkind joined
lichtkind ping jnthn 13:58
13:59 skids joined
lichtkind have rakudo compile error just want to know where to post 13:59
JimmyZ rt ? 14:01
14:03 xinming_ joined, xinming left
lichtkind pastebin.com/35N6aaN8 14:03
yes your right jimmy 14:04
14:04 xinming_ left, xinming joined
JimmyZ pastebin is blocked by gfw :( 14:05
14:06 alester joined
JimmyZ or gist.github.com/ ? 14:07
lichtkind yes that is better
but i already submitted under rakudobug 14:08
hoelzro ok, apparently hash creation is pretty expensive?
14:09 PacoAir joined 14:10 lichtkind left
LlamaRider doing another P5 to P6 port here -- when I am in class Foo and "use Foo::Bar" with the usual P5 setup in which class Bar is in Foo/Bar.pm6, I get an error. 14:17
I am pretty sure I don't understand :: any longer
JimmyZ what's the error message? 14:18
LlamaRider the error is: Merging GLOBAL symbols failed: duplicate definition of symbol Bar
JimmyZ could you paste the code? 14:19
moritz "in which class Bar is in Foo/Bar.pm6"
that's not quite the usual setup
it's usual for Foo::Bar to be in Foo/Bar.pm6
LlamaRider moritz: that's what I meant, Foo::Bar is in Foo/Bar.pm6
JimmyZ: let me make a minimal example first 14:20
JimmyZ or push the code to the github ;)
LlamaRider never mind, I figured it out and it was something embarrassing :D 14:22
14:23 Psyche^ joined
JimmyZ ;P 14:23
LlamaRider copy-pasted Bar in Baz and didn't rename it to Baz, so the error was to the point - I was loading class Foo::Bar twice
14:24 Patterner left, Psyche^ is now known as Patterner
jnthn bbi30 14:25
14:28 JimmyZ left
rindolf LlamaRider: hi, are you new here? 14:28
LlamaRider hi rindolf. I wouldn't say I am new-new, but I haven't been consistently around. I've ported one CPAN module to P6 until now, and am learning more by porting a few others. 14:29
rindolf LlamaRider: ah, OK. 14:30
LlamaRider: I've ported some code of my own (Project Euler/etc.)
Not sure my P6 is very idiomatic.
LlamaRider I'd love to port some of my projects to P6, but I need a lot of CPAN before I can get there... So doing that first 14:31
rindolf LlamaRider: BTW, my /part message is still "Yay, I'm a llama again!" which is taken from www.youtube.com/watch?v=W5GjhMMPM00 14:32
LlamaRider: I'm an individual of many species.
LlamaRider: OK, put the horse before the cart. 14:33
LlamaRider :D awesome
rindolf LlamaRider: I like Llamas.
14:35 colomon joined
LlamaRider I'm afraid I am no Llama expert myself, but I'm quite fond of Perl :) 14:35
hoelzro has no idea how to interpret the results from perl6 --profile 14:36
14:37 Heather joined 14:40 kaare__ joined 14:41 census joined
arnsholt hoelzro: kcachegrind 14:42
hoelzro arnsholt: ah, thanks!
LlamaRider Are there export tags for P6? If not I will probably just export everything in the "all" tag. I'm not even sure how useful of a feature that is in P5. 14:43
moritz LlamaRider: yes 14:44
you can say sub foo() is export(:a, :b) { };
and then use YourModule :a;
LlamaRider moritz: cool! thanks 14:45
14:52 szabgab joined
szabgab hi, I've tried to build Rakudo on Windows from source and failed, so I installed the Rakudo * MSI - I think it suits my needs better anyway... 14:54
A couple of things, I hope someone here might be able to help me: 14:55
14:55 lichtkind joined
szabgab rakudo.org/2013/02/24/rakudo-star-2...-released/ has an "href" that is not a real link, I wonder if that's on purposed? 14:55
s/d//
LlamaRider " Bug reports about missing and broken 14:56
features are welcomed at href="mailto:rakudobug@perl.org">rakudobug@perl.org. "
oh the irony 14:57
14:57 Liz joined 14:58 Liz is now known as Guest11539
szabgab then I think it never told me it has finished to install ... 14:58
and it has not changed my PATH to include c:\rakudo\bin
nwc10 3 spectest fails from nom: pasta.test-smoke.org/461 14:59
15:01 Guest11539 is now known as lizmat
FROGGS question to all: If I'd run a perl 5 service, how hard would it be to do same NativeCally-stuff in rakudo to call into that perl 5 service? 15:02
shouldn't take longer than a weekend, right?
lizmat FROGGS: isn't that what blitzkost is / was? 15:03
moritz it didn't go through NCI 15:04
szabgab who usually builds Rakudo * for Windows?
FROGGS lizmat: I must admin, I dont know 15:05
*admit
Heather I plan do it in future 15:06
FROGGS moritz: I dont really care if it is NCI or TCP or something else in the background
moritz szabgab: pmichaud_
Heather I think I already found some defect with rakudo on windows but I will try to explore it myself 15:07
szabgab ok, so wait till pmichaud_ comes by with my complaints, right?
FROGGS Heather: might be still nice to report it, even if you want to fix it yourself
moritz szabgab: or you could build it yourself 15:08
szabgab I couldn't
the compilation failed for me
Heather FROGGS first I want to be sure if that's a bug
szabgab but it is ok for me
I just want to complain :)
FROGGS Heather: sure 15:09
szabgab Heather: do you have Rakudo * on Windows? 15:12
Heather: have you installed the msi? 15:13
Heather yes
15:13 lizmat left
Heather yes 15:13
szabgab has it configured the PATH for you?
Heather yes
C:\Rakudo )
szabgab it installed in c:\rakudo
Heather but doesn't add to ENV
szabgab but it has not changed PATH
right 15:14
Heather yes )
szabgab and have you managed to use p6doc?
Heather didn't tryed this at all.
yet.
szabgab ok, and have you tried any modules that come with Rakudo * ? 15:15
Heather just tested my script and found strange reaction
szabgab ok, as I dpm
Heather so i tested tadzik's perl6-File-Tools
szabgab as I don't see any modules
how?
Heather szbalint_ cloned my script which is using it :)
szabgab github.com/Cynede/ignore 15:16
szabgab heh szbalint_ will be happy I am back on the channel :)
Heather -_-'
szabgab btw I wonder about magical way it find libs on windows 15:17
szabgab ok, I wrote a little .bat file so I can use p6doc from the command line
do you mean the parrot libs or perl6 modules?
Heather perl6 modules 15:18
szabgab are there any perl6 modules that came with it?
Heather seems like on windows it goes recursive to all folders from . and adds all the stuff
szabgab Oh and have you tried panda?
Heather szabgab not yet but I should because I've made some changes on panda in my fork 15:19
15:19 isomorphisms joined
Heather szabgab github.com/Cynede/panda/commit/230...6eb9cf560b It will be good if someone else will also test it ) 15:20
15:21 arlinius joined 15:24 wk left 15:26 kaleem left
jnthn back 15:28
FROGGS jnthn: if you have time, I'd like to talk about blitzkost 15:29
15:30 Heather left
jnthn r: $_ = '123'; s/2/x/; .say 15:31
p6eval rakudo cee2f9: OUTPUT«1x3␤»
jnthn r: $_ = '123'; s/2/x/; say $/
p6eval rakudo cee2f9: OUTPUT«「2」␤␤»
jnthn r: $_ = 123; s/2/x/; say $/
p6eval rakudo cee2f9: OUTPUT«(Any)␤»
jnthn hah!
BUSTED
FROGGS uhh 15:32
jnthn I'll fix it
I discovered it while hunting why my multi changes had broken loads of tests.
FROGGS these things make me feel like we just have 10 tests in roast
jnthn r: sub foo() { $/ := 42 }; foo() 15:34
p6eval rakudo cee2f9: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/Ddm0ufiHc8:1␤------> sub foo() { $/ := 42 ⏏}; foo()␤ expecting any of:␤ postfix␤»
jnthn That wants a fix also....
FROGGS n: sub foo() { $/ := 42 }; foo()
jnthn Though that one is RT'd
p6eval niecza v24-33-gfc6d5fd: ( no output )
FROGGS hmmm, weird, I though niecza didnt get that right
LlamaRider So is bitwise or ~| or +| in P6? And is bitwise negation still ~ ? 15:40
I should get myself a "Learning Perl6" book 15:41
moritz ~| is stringy bitwise OR 15:43
+| is integer bitwise OR
and iirc negation is ~^ abd +^
FROGGS say 2 +| 1 15:45
r: say 2 +| 1
p6eval rakudo cee2f9: OUTPUT«3␤»
15:48 gdey joined
LlamaRider rn: say (+^0b10).base(2); 15:55
p6eval rakudo cee2f9, niecza v24-33-gfc6d5fd: OUTPUT«-11␤»
hoelzro so alester showing up last night got me to thinking about roadblocks that Perl 6 has 15:57
and I think one of the biggest ones is that there's a lot of tribal knowledge
moritz or phrased differently, lack of documentation 15:58
hoelzro I often have questions that are difficult/impossible to answer by searching the specs (either because of organization or specificity to a given implementation)
moritz: yes =)
so I ask here, and I get a glowing answer from one of th devs right away
so I think if a post appears that highlights where Perl 6 needs help, that would be a good thing to point out 15:59
</2c>
16:02 lichtkind left 16:05 SunilJoshi joined, pmurias joined
pmurias is there a plugin to Plack/Catalyst to ban based on IP (preferably a ready made solution like CatalystX::AutoCRUD)? 16:05
jnthn FROGGS: On Blizkost, what were you wanting to know? 16:06
pmurias: This channel may not offer the highest chance of getting an answer to that... :) 16:07
Ulti www.tiobe.com/index.php/content/pap...index.html ruby overtakes perl :'( 16:08
hoelzro huh; it's not creating objects that's slow 16:11
it's creating hashes
16:15 lichtkind joined
Ulti I dont think its a lack of documentation but documentation in different places in different formats aimed at different audiences 16:15
a language spec isn't somewhere your average application developer goes to get some help 16:16
hoelzro true
the example I was thinking of was "how do I profile a Perl 6 script"?
Ulti a FAQ based on the IRC logs might be a plan
hoelzro hmm 16:17
well, I have a project idea
called "Ask Camelia"
Ulti like pick out every question, so IRC lines ending in ? then do TF-IDF or something to build some topics
hoelzro it's just a simple text form, where you type "p5: $0" or "traits" or something
szabgab does rakudo * come with its own "prove" ?
hoelzro and it presents you with an example and a link to the spec
and links to other relevant documentation 16:18
I was thinking of initializing it with Q/A from IRC
Ulti also what would be quite epic is if getting a compiler error you got asked if you wanted to jump on channel for some help with the error and source file uploaded as a gist
we have a perl6 IRC interface after all
maybe have some kind of hoop to jump through to prevent spam 16:19
hoelzro hmm
szabgab tadzik: the panda that comes with rakudo tells me first I need to give the options --notests and only at the end the command 'install' that's quite confusing
hoelzro well, that's another thing I wanted to add to AC
16:19 lichtkind left
hoelzro if the question doesn't have any answers yet, the web application could forward it here 16:19
Ulti sounds good hoelzro 16:20
hoelzro now, I just need the time )
=)
Ulti also keeping an index of compiler problems to solutions would be neat, so chatting from the compiler prompt everything said is logged with the gist and you get a list of previous problems that look similar 16:21
16:21 lichtkind joined
Ulti doesn't have to be in the compiler, just some friendly wrapper 16:21
hoelzro hmm, that's interesting
Ulti kidgloves perl6 program.p6
could make it quite a general application
where it just looks up what channel to use for the program 16:22
16:22 SunilJoshi left
Ulti #perl6-kidgloves for example 16:22
basically what everyone does with google and stack overflow anyway but automated 16:24
also everything else under the sun has "gone social" why not compilers :) 16:25
"10 of your friends are using perl6, would you like to message them?" 16:26
16:26 lichtkind left
hoelzro heh 16:26
Ulti seriously though, why dont compilers do that... its the first thing everyone does when they give up fixing it themselves 16:27
perhaps show someone this stuff after they get the exact same error after several consecutive compiles
so its obvious they are failing
16:30 not_gerd joined
not_gerd o/ 16:30
szabgab: what's your windows build environment and how does it fail? 16:31
pmurias jnthn: sorry thought it was #perl ;) 16:32
pmichaud_ szabgab: pong 16:33
szabgab not_gerd: do you mean how rakudo fails to build, sorry I am over that, I am a happy (sort of) Rakudo * user :)
16:33 snuffles left
szabgab pmichaud: repong 16:33
pmichaud: I sent a mail and a bug report with the issues I found so far - issues with Rakudo * msi 16:34
16:34 snuffles joined
pmichaud szabgab: I saw the mail to the p6c list 16:34
bug report?
szabgab [perl #117151] 16:35
the lack of "prove" and that panda blows up
pmichaud szabgab: this is from the .msi ... ? 16:36
szabgab yes
pmichaud there is no 2013.02 msi yet, though.
at least, I didn't make one.
szabgab hmm
let me check then :)
jnthn o/ pmichaud
dalek kudo/md-nqp: e5208af | jnthn++ | src/Perl6/Actions.pm:
Switch most dispatches to NQP-based dispatcher.

Next up will be hunting/fixing regressions.
16:37
pmichaud o/ jnthn
dalek kudo/md-nqp: 23f38ed | jnthn++ | src/Perl6/Actions.pm:
Allow binding to $/.

Because we need it now to fix other things, but also because it will fix an RT once this branch is merged.
rakudo/md-nqp: f81a127 | jnthn++ | src/core/ (2 files):
rakudo/md-nqp: Fix $/ setting and $_ lookup a bit.
rakudo/md-nqp:
szabgab 2013.01.msi
pmichaud: 2013.01.msi sorry for the confusion
pmichaud not sure what to do about 'prove'
szabgab If there is no perl6 based prove, and there is no perl 5 based prove installed then I think panda should fail (in a nice way) 16:38
pmichaud seems like panda shouldn't use 'prove', unless we're going to make p5 a runtime requirement for p6
szabgab and tell the user to run with --noinstall
FROGGS sooooo, workshop break before lunsch 16:39
*lunch
szabgab but yes, panda should not rely on any perl5 thing
FROGGS jnthn: well, I'm at a workshop right now so my motivation is like 450%
pmichaud I'll file a bug report for panda 16:40
FROGGS jnthn: I'd like to know how the state is, and what I can do (I have some (or some more) Perl 5 knowledge)
jnthn: so I want to let you know that I wanna hook in, so we're able to use (simple) Perl 5 modules from within rakudo
szabgab when do you expect to have 2013.02.msi ? and will you include at least those batch files? 16:41
kresike bye folks
16:41 kresike left
pmichaud which batch files? 16:45
p6doc and panda? 16:46
I suspect they might be long in the star repo.
I suppose it could be part of the .msi only, though.
not_gerd wonders if parrot-prove would work
jnthn I think putting them in the Star repo and including them with Windows installs in general is good 16:47
pmurias jnthn: we need a working use :from<perl5> so that perl5 questions are on topic here ;) 16:48
16:48 SamuraiJack joined
jnthn ;) 16:48
Blizkost was built before any of the 6model stuff happened.
pmichaud github.com/tadzik/panda/issues/38 16:49
szabgab: if you can provide the .bat scripts and other items as issue reports for star, they could likely make it into the 2013.03 release. 16:51
szabgab pmichaud: thanks
pmichaud: the bat files are those one-liners I included in the email
FROGGS jnthn: so we first need to get it working agein?
*again
pmichaud github.com/rakudo/star/issues 16:52
FROGGS jnthn: can you add a roadmap for me?
szabgab I can commit them somewhere if you let me know the repo
pmichaud github.com/rakudo/star
szabgab ok, I'll open the issues there or send a pull :)
pmichaud excellent, thanks
szabgab should I create a directory called win32/bin and put them there? 16:53
pmichaud szabgab: looking
szabgab maybe under ports ? 16:54
pmichaud ports/ is good enough for now
we'll want to update the install script, undoubtedly
szabgab which is where? 16:55
pmichaud github.com/rakudo/star/blob/master...akefile.in
szabgab oh I see I have commit bit to this repo 16:56
so I can just add the bat files
I feel empowered
pmichaud I'll upload my "how to build star on windows" instructions tomorrow, too 16:57
szabgab That's good but I am just a user here ! 16:59
17:00 bowtie joined, fhelmberger left
dalek ar: d0e0a2e | (Gabor Szabo)++ | ports/win32/p (2 files):
Adding bat files for MS Windows installation. To be placed in the bin directory of Rakudo
17:01
szabgab ok, that's enough harm done for today
17:02 lichtkind joined, wk joined 17:04 lichtkind left 17:05 szabgab left, isomorphisms left 17:06 SmokeMachine left 17:07 SunilJoshi joined
mehwork are there any good perl podcasts? 17:10
17:12 SmokeMachine joined 17:13 grondilu joined
masak szabgab++ made some Perl 6 videos, I recall. 17:14
screencasts.
here's one of them: www.youtube.com/watch?v=tqxI7L5FQ4w 17:15
mehwork i mean audio ones i can listen to on ipod
i found one 'perlcasts' on itunes
masak ok, sweet.
mehwork thanks, i'll check those out too
17:16 crab2313 joined
masak make sure you check out FLOSS weekly #140: twit.tv/floss140 17:16
with a very nice interview with our own pmichaud++
mehwork cool 17:17
17:20 pmurias left 17:24 Liz joined, Liz is now known as Guest79209 17:25 Guest79209 is now known as lizmat
moritz that's from 2010, right? 17:29
17:30 isomorphisms joined
masak something like that. but I bet it's still interesting. 17:30
timotimo_ October 29 2010, so very late 2010 17:31
17:35 snuffles left 17:36 Chillance joined 17:37 snuffles joined 17:43 spider-mario joined 17:50 FROGGS left, sqirrel left 17:51 not_gerd left, sqirrel joined 17:52 yoleaux joined
masak people, some time in the coming weeks I may hold a half-day Perl 6 course on IRC. (timed so that both US and Europe are awake during it.) I already have some people showing interest in such a course. 17:53
anyone else who is/might be interested?
moritz might be 17:56
oh, and I'll provide logging if you want to do it another channel 17:57
17:57 fgomez left
moritz *in another channel 18:00
18:02 dakkar left 18:03 yoleaux left, yoleaux joined 18:06 fhelmberger joined 18:07 SunilJoshi left
timotimo_ i wonder if careful parallelisation of parsing the grammar and calling the action methods would give any performance benefit rather than just a huge headache. 18:12
maybe an STM approach would be feasible some day 18:13
18:13 davidagain joined
timotimo_ as in start the parsing of the next construct and if it accessed a piece of data that was just being created by an earlier action method (say, a lexical or world value or something), then abort the earlier parse and try again later 18:13
moritz sounds scary 18:14
TimToady trouble is you can't know whether there's a dependency, if the previous construct changed the language 18:15
not until the lexer is recalculated
*lexers are
timotimo_ so making the abort happen isn't going to be reliable?
TimToady so I think the biggest win will be caching lexers from run to run 18:16
the identity of the current language is the most important thing, and Perl 6 really, really hates to parse without knowing the current language
if you can minimimize the lexer recalculation with a cache, then whenever you get a cache hit, you don't have to spend time recalculating the lexers, and then maybe you can think about parallelizing the actions 18:18
of course, by the time you've cached all the langauges, it's a small step to remember the exact text of the next function, and if it matches, just use a cached parse of it 18:19
and then you have an incremental compiler
moritz sounds also scary :-) 18:20
18:21 snuffles left
TimToady it's only scary if you lose track of the identities and start guessing 18:22
masak moritz: thanks. I will most likely take you up on that offer. 18:23
I want to do it in another channel, because I don't want to expose everyone here to a Perl 6 course ;) 18:24
18:24 fhelmberger left, snuffles joined
alester masak: I think a Perl 6 course isn't bad in channel. 18:25
We don't want #perl6 to only be devs,right? 18:26
heck, *i* could use a Perl 6 course.
18:26 snuffles left
dalek rl6-roast-data: 1caa659 | coke++ | / (4 files):
today (automated commit)
18:27
arnsholt alester: I think someone in #parrot said you might know about reasons for the choices of compiler warnings in Parrot. Am I remembering correctly?
[Coke] nwc10: are your failures listed here: github.com/coke/perl6-roast-data/b....out#L2419 18:31
Aoogh. rakudo has failed spectests six days in a row. 18:32
er, *AOOOGAH*
moritz [Coke]: I'm doing a spectest run and see if anything fails for me too 18:33
18:33 snuffles joined
moritz and if yes, try to fix it 18:33
[Coke] moritz++ 18:34
jnthn I'm getting some segfaults on some of the regex tests.
18:35 snuffles left
jnthn I thought it was in my branch only, then couldn't track them to anything in it, and found they're in nom too... 18:35
[Coke] jnthn: which tests?
jnthn regex-in-variable.t, litvar.t are two of them
[Coke] (I'm not seeing those. failures I'm seeing are in S26-documentation/09-configuration.t and S32-num/stringify.t 18:36
18:36 snuffles joined
masak alester: in channel I would feel like I was drowning out ordinary development work, or newbie questions, or other discussion. 18:38
alester: I've previously held a very pleasant 3-hour walkthrough of CQRS on a separate channel. wouldn't mind having a similar format for this course. 18:39
18:41 bluescreen10 left 18:43 fhelmberger joined 18:44 fhelmberger left
moritz [Coke]: I observe two test failures here, t/spec/S26-documentation/09-configuration.t and t/spec/S32-num/stringify.rakudo 18:46
plus some passing TODOs
dalek ast: fdb4719 | moritz++ | S (3 files):
fudge and unfudge tests for rakudo

also switches to planless testing in S32-num/stringify.t, because functions that run several tests are hard to fudge.
18:52
18:52 bluescreen10 joined
jnthn I thnk the 09- one may be my fault 18:53
Will look more in a bit
moritz iirc tadzik said something along these lines
18:55 _jaldhar left
davidagain r: say 'r: say "r"' 18:57
p6eval rakudo cee2f9: OUTPUT«r: say "r"␤»
davidagain aww, that would have been fun
18:58 LlamaRider left
moritz davidagain: I was very careful to avoid bot cycles when writing p6eval :-) 18:59
davidagain: p6eval sending messages via phenny (or lambdabot, back in the days) etc.
timotimo_ that interview was nice and interesting 19:00
19:00 crab2313 left
timotimo_ davidagain: sadly, that would only have caused one back and forth, not a cycle 19:01
so, try again? :)
davidagain hmm
quine the dilemma 19:02
timotimo_ r: my $str = "r: say $str"; say "r: say $str"; # this doesn't help either, no?
p6eval rakudo cee2f9: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/CrxmnZwTT2:1␤␤r: say r: say ␤»
davidagain let me think
timotimo_ r: my $str = 'r: say $str'; say "r: say $str"; # this doesn't help either, no?
p6eval rakudo cee2f9: OUTPUT«r: say r: say $str␤»
davidagain r: say r: say $str
p6eval rakudo cee2f9: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/ijF1NeicGd:1␤------> say r⏏: say $str␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statement …
davidagain nope 19:03
timotimo_ a y combinator perhaps?
davidagain I think a simple contatenative quine should work
moritz davidagain: the OUTPUT« prefix prevents it from ever taking input from itself
davidagain yeah, I know
(now)
any other bots in here I can recruit to my cause?
timotimo_ yeah, this is a theoretical exercise only
moritz
.oO( you can quine any time you like, but you can never loop )
19:04 fgomez joined
davidagain what we need is a way to get p6 to ignore r: as a bareword 19:05
ignore my bareness, p6. don't be a perv.
moritz davidagain: niecza already does it
(it's a label)
but only at statement begin
davidagain r: goto r
p6eval rakudo cee2f9: OUTPUT«===SORRY!===␤Undeclared routines:␤ goto used at line 1␤ r used at line 1␤␤» 19:06
moritz n: goto n
p6eval niecza v24-33-gfc6d5fd: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'n' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /home/p…
moritz n: n: goto n
alester arnsholt: Yes, I know all about the GCC warnings that Parrot uses.
p6eval niecza v24-33-gfc6d5fd: OUTPUT«(timeout)»
davidagain r: r: goto r
p6eval rakudo cee2f9: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/mrk4E5Ba9r:1␤------> r⏏: goto r␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statement modifi…
davidagain r: goto hell
p6eval rakudo cee2f9: OUTPUT«===SORRY!===␤Undeclared routines:␤ goto used at line 1␤ hell used at line 1. Did you mean '&shell'?␤␤»
moritz rakudo doesn't parse labels yet, and doesn't do goto either
alester arnsholt: is this more appropriate here or in #parrot?
davidagain n: say 'r: man up!'
arnsholt alester: Excellent! The one I'm curious about is -Waggregate-return 19:07
p6eval niecza v24-33-gfc6d5fd: OUTPUT«r: man up!␤»
alester What about it?
arnsholt Either, really. It's about Parrot, but because of Perl 6
Part of the C 6model API is a function that returns a struct
davidagain I haven't played with Perl6 for a while. Does either rakudo or niecza have a GUI frontend for the REPL?
arnsholt Not a pointer to a struct, but the whole thing is returned. Which means that we get mandatory compiler warnings when compiling NQP and Rakudo
davidagain (on Windows)
moritz no 19:08
arnsholt It's not a big deal, but it'd be nice to not have those warnings
19:08 autumn joined
davidagain p6 19:08
maybe I can get the J REPL to talk 06
the CLI is not fun here in Windowsland
and I'm not keen on building for cygwin 19:09
alester arnsholt: The reason I put -Waggregate-return in there is because A) the warning exists, and B) nothing complained. My approach to setting up warnings was "turn everything on that we possibly can unless there is a reason not to have it on."
19:10 sivoais joined
alester If we now have stuff returning structs and the compiler warning doesn't make sense, then it may be time to get rid of the warning. 19:10
Alternately, you could add -Wno-aggregate-struct to the Perl 6 options.
(I think that's how GCC does negation) 19:11
I mean -Wno-aggregate-return
TimToady Pope Francis! 19:13
moritz habemum francis! 19:14
alester TimToady beats CNN.com
19:16 autumn left 19:18 sivoais left 19:19 sivoais joined, autumn joined 19:21 Timbus joined 19:27 sivoais left 19:28 sivoais joined 19:38 sivoais left 19:39 sivoais joined 19:40 sivoais left 19:41 sivoais joined 19:42 sivoais left 19:45 LlamaRider joined
arnsholt alester: Thanks! I'll keep it in mind when I return to my warning-squashing quest =) 19:45
masak .oO( clearly, 'francis' is some kind of genitive, and it should be 'hamemum Franceum' ) :P 19:51
arnsholt =p
19:52 sivoais joined, fgomez left 19:53 zby_home_ joined 19:55 SamuraiJack left 19:58 rindolf left, szbalint_ left 19:59 szbalint joined
dalek p: 6c4dc29 | jnthn++ | src/guts/multi_dispatch.c:
Multi-cache should decontainerize.
20:01
kudo/md-nqp: 383409d | jnthn++ | src/ (2 files):
Fix $/ lookup more properly.
20:02
kudo/md-nqp: ad805ff | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
A couple of performance tweaks.
kudo/md-nqp: 3199f01 | jnthn++ | src/Perl6/ (2 files):
Add back caching of dispatches.
20:04 fglock joined 20:08 fgomez joined
fglock I'm working on a module to generate code for a perlito5/perlito6 "jit" backend, 20:09
I wonder if somebody documented which subset of perl6/perl5 intersects
so I can write a module that works on both
I could also just try out and see what works 20:10
dalek p: 6bd6a25 | jnthn++ | src/guts/multi_dispatch.c:
Fix buffer overrun.

The code relied on the check being done higher up, which it isn't any more.
20:17
20:20 domidumont left
alester arnsholt++ Yay for warning squashing. 20:47
That's why they're there.
arnsholt Yeah. They've caught some things for me before, so I'd be very happy if I could kill all the warnings in NQP 20:49
20:51 am0c left
tadzik hello #perl6 21:00
so many messages
arnsholt Hmm. Maybe I should read some docs about QAST rather than semi-randomly cargo-culting stuff and seeing what happens 21:01
21:02 skids left
arnsholt It's alive! 21:05
*ahem*
21:08 yoleaux left
arnsholt jnthn: Am I right in thinking that I'll have to add a repr_push op to nqp.ops and a pirop mapping for that to use REPROps_Positional->push_boxed? 21:08
21:08 yoleaux joined 21:09 yoleaux left, yoleaux joined
jnthn arnsholt: The vtable method in SixModelObject is already set up to do the appropriate forwarding. 21:09
For push at least
May need some more filling out.
So nqp::push should do it
diakopter phenny: tell tadzik you've got mail
tadzik diakopter: thanks, reading ;) 21:10
I just got back home after the entire day, and it seems like the entire internet was looking for me :P
tadzik has seen RMS live today
arnsholt jnthn: Right. Then it's probably something else (like a bug in VMArray =) 21:11
It's complaining about a zero-byte allocation somewhere 21:13
tadzik diakopter: did I get something from yuo? 21:16
arnsholt There we go. Braino number one in VMArray.c
tadzik no phenny, no aloha. What do :( 21:18
arnsholt Braino number two! 21:20
21:21 arlinius left 21:22 cognominal joined 21:23 zby_home_ left 21:27 zacts joined
diakopter tadzik: nope; just teasing the lack of phenny 21:28
felher phenny: tell phenny: we missed you. Welcome back. 21:29
The bot will never read it. How sad. 21:30
21:31 cognominal left, cognominal joined 21:32 alester left
dalek p/vmarray-list: 117931a | (Arne Skjærholt)++ | / (2 files):
Add NQPArray type.
21:35
p/vmarray-list: 9e4e480 | (Arne Skjærholt)++ | src/QAST/Operations.nqp:
Add nqp::hlllist op.
p/vmarray-list: 91b03ba | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c:
Fix a couple of brainos in VMArray.c.

There's still something broken in VMArray, but at least some of it seems to be working.
21:38 cognominal left
dalek kudo/md-nqp: 809cf09 | jnthn++ | src/ops/perl6.ops:
Need to auto-thread shouldn't count as failure.

Fixes auto-threading regression with NQP-based multi-dispatch.
21:40
kudo/md-nqp: c63943e | jnthn++ | src/Perl6/Ops.pm:
Remove now-unused mappings.
kudo/md-nqp: baf8b44 | jnthn++ | src/ops/perl6.ops:
Don't build error strings just to discard them.
rakudo/md-nqp: 3590914 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
21:44 cognominal joined 21:47 bruges joined, cognominal__ joined 21:48 kaare__ left 21:49 bruges_ left 21:50 cognominal left 21:52 cognominal__ left
timotimo_ ooooh this is amazing :D 21:52
i'm trying to make a non-lta error message for when you have this: 21:53
r: 1/2.''()
p6eval rakudo cee2f9: OUTPUT«Method '' not found for invocant of class 'Int'␤ in block at /tmp/kQspxZlBkL:1␤␤»
timotimo_ and i was wondering why it wouldn't turn it into a proper error:
r: try eval q{1/2.''()}; say $!.WHAT;
p6eval rakudo cee2f9: OUTPUT«(X::AdHoc)␤»
timotimo_ r: try eval q{1/2.'foobar'()}; say $!.WHAT;
p6eval rakudo cee2f9: OUTPUT«(X::Method::NotFound)␤»
timotimo_ turns out, this error comes from parrot or something and there's this regex match going on: nqp::p6box_s(nqp::atkey_s($parrot_ex, 'message')) ~~ /"Method '" (.+?) "' not found for invocant of class '" (.+)\'$/ 21:54
:D
jnthn haha!
Well, it's close ;)
We'll get typed exceptions for multi-dispatch failures soon, I expect
timotimo_ cool :) 21:55
in the mean time, i'll fix this regex to change + into * and make a test for that for roast
22:01 SmokeMachine left, not_gerd joined
masak timotimo_++ 22:01
not_gerd o/
is there any reason why github.com/rakudo/rakudo/pull/110 shouldn't go in? 22:02
it saves a WHOLE CHARACTER when forcing exact signature matches ;)
| where !* -vs- *% where !*
22:04 cognominal joined
jnthn Hm. I guess it makes Capture more consistent with Array and Hash... 22:04
not_gerd my reasoning is that it's just another container 22:05
so false if undefined or empty, true otherwise
timotimo_ hm, were there failures in S32-exceptions/misc.t? i may have broken something. 22:06
ok 23 - '$&' died / not ok 24 - right exception type (X::Obsolete) / # Got: (X::Syntax::SigilWithoutName) / # Expected: (X::Obsolete) 22:07
huh?
ah, the latest roast-data commit isn't helpful, because it trips over the nonexisting Elsif exception :( 22:10
22:12 spider-mario left, bluescreen10 left
timotimo_ seems like my commits didn't break those. maybe i can find out where those failures come from, though 22:14
that could be nice
oh, perhaps they come from a too old version of nqp? i should build a master nqp i suppose
oh, i forgot to fudge 22:15
that was kind of silly
22:15 raiph left
Ayiko hi #perl6 22:21
grondilu: I start my scripts with :::perl
dalek ast: cb80e7a | (Timo Paulssen)++ | S32-exceptions/misc.t:
add a test for '' methods not found.
22:23
timotimo_ pull request'd 22:26
dalek kudo/nom: 103481f | (Timo Paulssen)++ | src/core/Exception.pm:
raise X::Method::NotFound even for '' methods.
22:29
kudo/nom: 1c99395 | jonathan++ | src/core/Exception.pm:
Merge pull request #117 from timo/typed_exc_empty_method

raise X::Method::NotFound even for '' methods.
timotimo_ oh, i made the whitespace uglier by accident
oh well.
22:30 zacts left 22:32 zacts joined
dalek kudo/md-nqp: 56f7059 | jnthn++ | src/ (2 files):
Optimizer updates for NQP-based dispatcher.

Will allow elimination of the MD thunk hack.
22:36
kudo/md-nqp: 73880dd | jnthn++ | / (7 files):
Fully kill off MD thunks.

Gets rid of 2 PMCs, 2 ops and an attribute in Routine.
22:36 PacoAir left 22:43 zacts left
dalek kudo/md-nqp: 3309f5f | jnthn++ | src/core/Stringy.pm:
Fix a proto.
22:43
22:44 not_gerd left 22:47 skids joined 22:52 gdey left 22:58 davidagain left
masak 'night, #perl6 23:01
23:11 Chillance left 23:13 cognominal__ joined 23:14 cognominal left
grondilu Perl6 changes for 2013W10 mentions: "Added colorcircumfixes." What the hell is this? 23:18
23:18 gdey joined
grondilu I mean, "color"? 23:18
jnthn typo 23:19
shoulda said colon
Also it makes it sound more than it is
There's a parse rule in the grammar called coloncircumfix 23:20
Which was incorporated. But it doesn't add much new, other than better error reporting.
grondilu it's not supposed to be used by a Perl6 user, is it?
jnthn For a very specific case.
r: :<>
p6eval rakudo 1c9939: OUTPUT«Potential difficulties:␤ Pair with <> really means an empty list, not null string; use :('') to represent the null string,␤ or :() to represent the empty list more accurately␤ at /tmp/oYku0bDXFV:1␤ ------> :<>⏏<EOL>␤» 23:21
jnthn It's that error that was inaccurate before, I think.
grondilu ok
sorear jnthn: huh? I thought rakudo could parse sub infix:<+>($a,$b) { ... } since forever
23:22 araujo left
jnthn sorear: It could 23:22
sorear: At some point, rather than colonpair calling circumfix directly, STD got a refactor so that it called coloncircumfix and that called circumfix. 23:23
sorear: It was, afaict, done to prevent giving a misleading error.
sorear: All I did was align Rakudo's grammar with STD so we got the better error message. That was the whole of the change. :) 23:24
grondilu Could I add OpenGL to the most wanted modules list or is it too optimistic? 23:26
tadzik go ahed 23:27
sorear even if it were outright impossible, that wouldn't eliminate the want 23:28
grondilu just did it 23:29
One of these days I'd like to learn 3D programming, but I don't feel doing it with a boring programming language. I'd like to do it in perl6. 23:30
23:31 alec__ joined
timotimo_ i believe it wouldn't be terrifically hard to implement opengl with zavolaj 23:34
it's a rather simple C API, just a big amount of constants and functions
a good object-oriented (or at least assisted) binding, however, that could be trickier
23:41 not_gerd joined
not_gerd wonders if grondilu knows that Parrot comes with OpenGL bindings that used to (and possibly still does) work with Rakudo 23:41
see eg github.com/parrot/parrot/blob/mast...riangle.p6 23:42
note that I removed these from the sixparrot branch last week
23:46 cognominal__ left 23:48 cognominal__ joined
jnthn sleep & 23:49
dalek kudo/md-nqp: 62817b8 | jnthn++ | src/binder/multidispatch. (2 files):
Remove some now-unused code.
kudo/md-nqp: 858cbe2 | jnthn++ | src/core/Stash.pm:
Fix a wrong type constraint.
kudo/md-nqp: 6993950 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Some more small optimizations.
23:50 not_gerd left 23:55 gdey left
tadzik jnthn++ # wonderful commit spree 23:56
23:56 davidagain joined
davidagain quick question: is there a tutorial or writeup on implementing a toy programming language in p6? 23:57
(not in nqp or anything, but directly on rakudo)
23:57 Timbus|Away joined, Timbus left, Timbus|Away is now known as Timbus