»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
sorear that's part of why we don't do it, I think 00:00
lue I feel the urge to fix it myself :) . Let's see how difficult it is to _find_ the bug in the first place :)
It's such a funny bug though.
lue can't help but wonder if fixing the error message would be a good first step. 00:05
jnthn $dayjob meeting in 7 hours or so, guess I should get at least try and some sleep ahead of that. night o/ 00:06
lue goodnight o/ 00:07
sorear STD.pm6 is still fighting me 00:09
TimToady I hope it's losing :) 00:11
sorear it's more a case of modifying a compiler with a bootstrap system designed by an idiot is painful 00:12
TimToady sort of a collective idiot, in this case :) 00:13
sorear any cleanup I make to STD.pm6? 10 minutes later, I find out that 1. my obviously correct cleanup is actually causing miscompilations 2. I need to svn revert the compiler in order to try again
lue images a STD.pm6 as a child who refuses to take the medicine, even though it would make him feel better. 00:14
*imagines STD.pm6
pugssvn r31169 | colomon++ | [t/spec] Additional tests for div, first tests for mod. 00:15
00:24 lest_away is now known as lestrrat 00:25 lestrrat is now known as lest_away
arnsholt rakudo: my @a; @a[0] = []; @a[0][0] = 1; 00:26
p6eval rakudo b258f5: OUTPUT«Null PMC access in invoke()␤ in main program body at line 1␤»
arnsholt Is that a known bug? 00:27
00:30 k23z__ joined, lest_away is now known as lestrrat
k23z__ so I heard you guys want a GUI toolkit for Perl6 00:30
00:30 masonkramer left
k23z__ I'm writing a GUI toolkit in C++ from scratch 00:30
lue rakudo: say [].WHAT
p6eval rakudo b258f5: OUTPUT«Array()␤»
k23z__ mberends I think was offering to write bindings 00:31
lue rakudo: my @a; say @a; say @a.perl
p6eval rakudo b258f5: OUTPUT«␤[]␤»
k23z__ what I can make is some minimalistic GUI toolkit written from scratch in C++
(well it will use SDL and/or OpenGL depending on how I decide to make it)
(but that matters less)
it is portable 00:32
lue rakudo: my @a=[]; @a[0] = []; @a[0][0] = 1;
k23z__ and at the current rate it will be finished in 2 years
p6eval rakudo b258f5: OUTPUT«Null PMC access in invoke()␤ in main program body at line 1␤»
lue hrm. Don't know, arnsholt.
k23z__ lue, do you think 2 years is a long time ?
00:33 kensanata left
sorear why another graphics toolkit 00:34
00:34 meppl joined
k23z__ sorear, because it will be minimalistic 00:34
lue not necessarily.
00:35 constant left
k23z__ most GUI toolkits out there have too much stuff in them, and are poorly documented(as most software is) 00:35
lue k23z__: If you were to make a new GUI toolkit, I don't think you'd be able to use any part of SDL/OpenGL/etc.
k23z__ lue, how so ?
lue, I'm already using it(SDL/OpenGL) 00:36
lue Maybe it's just me, but I get the idea that SDL and OpenGL *are* GUI toolkits [or can be used as such].
arnsholt SDL and OpenGL are general purpose graphics toolkits 00:37
k23z__ they offer primitives for graphics,keyboard,mouse 00:38
from that to a GUI there's a long way
lue Well then, I guess I need to look at some APIs sometime :) . In that case, use SDL/OpenGL for creating a GUI toolkit is great. 00:39
k23z__ I believe it will be better than Tk,Gtk,Gtk+,FLTK,Qt,Wx,MFC when it's finished 00:41
in my oppinion every GUI toolkit out there is flawed 00:42
lue That's what the guy who made FontForge thought [or something like that] :)
k23z__ lue, I like how he thinks then :) 00:44
every piece of software I see, I think it's too complicated
diakopter Soon the Rebellion will be crushed and 00:45
lue The Swiss Army Knife Law: "The more it does, the cooler it is."
k23z__ my GUI toolkit has now 2500 LOC , I will keep it below 5000 LOC and it will be able to do everything that every other toolkit does and much much better,and people will be able to look in the source and actually understand it 00:46
lue
.oO(I have a simple IRC client, it only does IRC and my ironing. I don't see what you mean)
diakopter k23z__: in which language is it written?
k23z__ diakopter, C + +
Tene k23z__: have you looked at EFL at all? Seems like they're doing some interesting things these days.
diakopter ah
arnsholt Are there issues with autovivification in current Rakudo? 00:47
00:47 acastlenut joined
k23z__ Tene, en.wikipedia.org/wiki/Enlightenment..._Libraries 00:47
Tene Yes.
sorear arnsholt: Plenty.
ash__ arnsholt: there were some last i checked 00:48
00:48 ashleydev left, skangas left
arnsholt Right. Then I just have to figure out how to work around them 00:48
ash__ arnsholt: what issues are you fighting with currently?
arnsholt ash__: I'm writing a HMM decoder (Viterbi's algorithm) so I've got a matrix I'm populating 00:49
k23z__ Tene, I just measure enlightment source code, they have 75k LOC
Tene, I intend to keep it below 5k
arnsholt I figure I'm just going to write a loop that builds the matrix populated with 0 or something 00:50
k23z__ I think having a lot of code is not necessarily a good thing
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."
sorear "EFL has lots of code, therefore no idea in it can possibly be worth reusing." 00:51
diakopter "Most organizations/individuals don't have time for Perfection"
00:52 lue left
ash__ arnsholt: seems reasonable, also, if you feel like dipping into parrot, i know whiteknight made some libraries for parrot for matrix stuff 00:53
(and linear algebra, which is normally pretty matrixy) 00:54
whiteknight yeah, we have parrot-level matrices. Going to have full BLAS bindings soon
00:54 patspam left
whiteknight where "soon" is "whenever somebody gets around to adding it" 00:54
k23z__ I can't afford to use over-complicated software like Gtk or Qt, if I write my own GUI toolkit, first of all I won't need to ever read any documentation(for GUI toolkits at least), also I won't take any more compromises and if something breaks or segfaults I know 100% whos fault it is and I can address him directly by facing a mirror
ash__ k23z__: what if you don't have opengl? 00:55
k23z__ ash__,
acastlenut q
k23z__ ash__, is there any situation where that can happen ? 00:56
ash__ i think a major part of most of the other gui toolkits you have mentioned is none of them require opengl
sure, old hardware, crappy hardware, cheap hardware, embedded systems
sorear hi, I don't have hardware 3d
gtk runs *fine* here 00:57
k23z__ ash__, I write a wrapper around the graphics functions over here, maybe some macros ... dunno yet
I hate to find something that I don't like and not being able to fix it , because the codebase of that piece of software is really beyond any size that's readable 00:58
Tene Reasonable enough. Just depends on your goals. 00:59
Raster has been working on EFL for years, started from scratch because of significant dissatisfaction with other gui toolkits, just like you.
k23z__ who's Raster ? company/individual ? 01:00
Tene Individual, primary author of EFL.
diakopter readability is very subjective
k23z__ EFL is written in C 01:01
C is hard for the eye
Tene That's extremely subjective.
:)
ash__ C is easier to understand than C++, all things considered # thats a loaded statement, but i think its true, and i'll get off the language wars bus here
sjohnson :) 01:02
some would say perl is hard on the eyes too!
Tene The EFL folks avoid C++, as it's far too huge to reasonably use or understand, and they can build everything they need in C, and understand it and have confidence in it, similar to your recently-expressed issues with GUI libraries. :)
sjohnson i found that the worst perl code, is from programmers who program in perl like they program in any other language... ie, not using any of the good perl features
and these people wonder why they "can't get into" perl
01:03 bjarneh left
sorear k23z__: You must not have seen the innards of Parrot 01:03
Tene I haven't minded Parrot internals. 01:04
01:04 acastlenut left, yinyin joined
pugssvn r31170 | sorear++ | [STD,viv] Regex parse cleanup - ~ is now a pseudo quantifier, so it associates with the right atoms. No horrible reassociation pass needed. 01:08
sorear FINALLY 01:14
sorear hopes that mole stays down 01:15
now, for the rest
01:17 whiteknight left, Guest58430 left
diakopter :) 01:26
pugssvn r31171 | sorear++ | [STD] ignore whitespace between an atom and a quantifier, instead of quantifying a space atom 01:32
01:42 masonkramer joined 01:45 jaldhar joined
pugssvn r31172 | sorear++ | [STD] $<foo> = <bar>? should parse the quantifier outermost for consistency with <foo=bar>? 01:47
01:48 dju_ joined 01:49 zorgnax joined 01:52 breinbaa1 joined, ingyfoo joined 01:53 frodwith_ joined, dual left, ingy left, breinbaas left, slavik left, dju left, pnate left, PZt left, frodwith left, athomason left 01:56 slavik joined 01:57 TiMBuS joined 02:01 [mark] joined 02:02 plobsing joined 02:09 zorgnax left, zorgnax joined 02:10 justatheory left 02:13 meppl left 02:16 ruoso left 02:20 masonkramer left 02:28 skids joined 02:29 gbacon joined 02:31 jaldhar left, jaldhar joined, justatheory joined 02:36 s1n left 02:37 ashleydev joined 02:45 s1n joined, s1n left 02:46 gbacon left, am0c left 02:47 am0c joined 02:53 s1n joined 02:54 s1n left 02:55 s1n joined 02:56 s1n left 03:02 s1n joined 03:06 ashleydev left 03:07 alester joined 03:10 ashleydev joined, ash__ left
pugssvn r31173 | colomon++ | [t/spec] Test that Cool properly handles conversion to Numeric for core Numeric and Real methods. 03:14
sorear um, what 03:15
STD parses <?after x> and <?after x > differently
in :!s context
dalek kudo: 0290298 | (Solomon Foster)++ | src/core/Cool-num.pm:
Clean up the Cool versions of the standard Numeric and Real methods.
03:18
kudo: 34c1ba4 | (Solomon Foster)++ | t/spectest.data:
Turn on new S32-num/cool-num.t test file.
03:24 ashleydev left 03:26 ashleydev joined 04:05 kfo_ joined 04:09 kfo left, kfo_ is now known as kfo
sorear at this point, I think the only plausible explanation for why STD is broken is that I've somehow *accidentally* introduced a Trusting Trust virus into it 04:16
this is not comforting.
TimToady o_O 04:17
what are the symptoms?
sorear actually, it's Just Broken and can't be bootstrapped at all 04:22
my testing before commit didn't account for the possibility of writing a STD.pm6 that would doom us to failure three generations hence 04:23
now I get to revert all the minor regex fixes I've spent the last three days struggling with!
diakopter :'(
sorear how do I revert commits in svn? 04:24
TimToady just check out an earlier version?
I dunno, actually.
04:26 k23z__ left 04:27 agentzh joined
Tene svn revert, iirc 04:34
04:35 constant joined, constant left, constant joined 04:45 tedv left 04:57 ShaneC left 05:04 eternaleye left 05:10 kaare joined
TiMBuS TimToady, svn co -r REVISION 05:10
bit late i know
05:11 kaare is now known as Guest57824 05:13 szabgabx left 05:36 orafu left, orafu joined 05:38 eternaleye joined 05:40 PZt joined
sorear TiMBuS: it's me who's asking, and it's not too late 05:40
TiMBuS: but I want to destroy/supersede the revision, not just examine history 05:41
a darcs rollback or a git revert
05:45 dual joined 05:48 ashleydev left 05:49 gfx joined
Tene sorear: you checkout the file of the earlier revision, and then re-commit it as a new revision. 05:50
TiMBuS sorear, dont think you can do it one go. why not svn up -r oldrevision then recommit?
fff
eternaleye phenny: tell masak that 'forinsecal' is confusingly close to 'forensical', which means 'gathering data by examining the surroundings' 05:51
phenny eternaleye: I'll pass that on when masak is around.
TiMBuS google says some people use svn merge -r currentversion:oldversion but im not sure how that works (isnt it the same as svn up -r oldversion?) 05:53
05:55 mberends joined 06:03 ashleydev joined 06:04 ashleydev left
jnthn morning, #perl6 06:07
06:08 alester left
sjohnson jnthn: yo 06:10
06:11 uniejo joined
diakopter one way to do it is to "svn export -r revision that-dir" (a checkout without the .svn dirs) and cp the dirtree over the working checkout (preserving the .svn), then commit 06:19
note in particular the *export* instead of *checkout*
jnthn -> meeting 06:21
moritz_ good morning 06:22
06:34 mberends left, Su-Shee joined
moritz_ rakudo: 'ab' ~~ /<alpha> <xdigit>/; say $<alpha xdigit> 06:39
p6eval rakudo 34c1ba: OUTPUT«ab␤»
moritz_ rakudo: 'ab' ~~ /<alpha> <xdigit>/; say $<alpha xdigit>.join(',')
p6eval rakudo 34c1ba: OUTPUT«a,b␤»
06:43 Grrrr left 06:48 Grrrr joined 06:50 justatheory left
ajs I'm trying to find code to look at that's a good intro to how to take a match and transform it into executable code within the context of the current program. Do we have anything like that that's relatively easy to read? I'm almost to the point that my actions are building code from my rules, but not quite. 07:00
moritz_ ajs: maybe www.perlmonks.org/?node_id=842792 is of help to you? 07:01
07:02 jjore left
moritz_ apart from that, eval() and closure currying are currently the only ways to buid code with Rakudo 07:02
07:03 jjore joined
ajs Ah, so I can't call PAST::Compiler.compile directly? 07:03
I was trying to build up a PAST::Block containing a return PAST::Val just as a test 07:04
07:04 chitragupt left
moritz_ ah, maybe that works 07:05
ajs Not exactly something that's copiously documented, though eh? ;-)
moritz_ I think PCT has documentation 07:06
somewhere inside the parrot repo
ajs OK, I'll look into that more tomorrow. I stopped paying attention to parrot after PGE and before NQP, so a lot has changed. 07:07
Just for fun and profit, I'm seeing if I can get a Perl 5 regular expression to transform into executable Perl 6 code in pure Perl 6.... it's ... interesting. 07:08
07:09 Ross joined
ajs I have a parser for P5re, but it needs a lot of very dynamic actions to manage it (things like (a|$) are a pain to parse. 07:09
But I'm starting small... first something that can return a value, then rule the world.
;)
moritz_ :-) 07:11
PGE had a perl 5 regex parser
ajs I'll take a look at that. My ultimate goal, of course, would be to transform arbitrary Perl 5 into Perl 6 (not as a bug-for-bug Ponie style thing, but just as a porting target) 07:12
07:12 hercynium left
ajs But getting from parsing a regex to handling the entire language is quite a long walk. Right now, I just want to get some working code 07:15
moritz_ working code is important, right 07:16
ajs heh
moritz_ -> decommute
07:31 wint joined 07:32 plobsing left 07:33 wint left 07:36 ascent_ left, ascent_ joined 07:37 opx^away left 07:38 opx^away joined 07:40 rgrau joined 07:43 mberends joined 07:49 opx^away left 07:50 opx^away joined 08:02 nadim_ joined, cls_bsd_ joined 08:03 kaare joined, kaare is now known as Guest78028 08:04 frooh_ joined, ingy joined, gfldex_ joined 08:09 opx^away left, Guest57824 left, constant left, am0c left, ingyfoo left, sorear left, cls_bsd left, frooh left, dukeleto left, felipe left, nadim left, Gothmog_ left, gfldex left, tomaw left 08:14 constant joined, constant left, constant joined 08:17 pnate joined, am0c joined 08:20 sorear_ joined, sorear_ is now known as sorear 08:21 lestrrat is now known as lest_away 08:25 tomaw joined, opx^away joined 08:28 rhr left, Gothmog_ joined 08:33 dakkar joined 08:35 rhr joined 08:36 Gothmog_ left, opx^away left, tomaw left
pugssvn r31174 | cosimo++ | [docs] Try to understand which is which 08:46
r31174 |
r31174 | Mark css files so I can understand which of the
r31174 | 3 perl.css files is used in the synopsis html docs.
08:47 k23z__ joined
moritz_ runs update-syn on feather 08:47
cosimo if anyone knows a bit more of the synopsis publishing process
moritz_ raises hand 08:48
cosimo moritz_: cool
08:48 masak joined
masak oh hai, #perl6! 08:48
phenny masak: 05:51Z <eternaleye> tell masak that 'forinsecal' is confusingly close to 'forensical', which means 'gathering data by examining the surroundings'
cosimo moritz_: there's another small problem, the new icons I added are not there in the /syn folder
masak eternaleye: yes. for the time being, consider that a feature. 08:49
cosimo i expected anything in docs/feather/* to show up in perlcabal.org/syn/ but apparently it doesn't work that way
moritz_ cosimo: svn.pugscode.org/pugs/docs/feather/...update-syn is what is run each hour
cosimo moritz_: so the new icons are showing up as broken
08:49 Ross left
cosimo moritz_: i saw that, but it accesses ~agentzh which I don't know how to debug 08:49
moritz_ looks where the document root is
cosimo maybe someone can reset my password on perl6.feather.nl ? 08:50
moritz_ just a sec
agentzh cosimo: sorry about that :P
cosimo agentzh: np, really. just trying to understand how the pieces fit together :) 08:51
moritz_ cosimo: ~agentzh/syn/ is just an ordinary directory in which .html files are created 08:52
cosimo: you can change the update-syn script to copy stuff there
cosimo moritz_: ah, ok 08:53
moritz_ cosimo: you can put stuff into docs/feather/ in the pugs repo...
cosimo: where they will show up at the level of documentroot, hopefully
cosimo moritz_: what about the makefile in ~agentzh/syn/zh-cn ? is that relevant?
moritz_ cosimo: no idea 08:54
agentzh cosimo: that is not relevant, i believe.
it's just holding the chinese transcript of S01
iirc :)
moritz_ oh 08:55
it seems that /var/www is a symlink to something inside audreyt's home
which has changed recently
so maybe I need to set up a perlcabal user 08:56
08:56 gfldex_ is now known as gfldex
moritz_ which just serves as a base for web-ish stuff 08:56
pugssvn r31175 | cosimo++ | Copy also the new smartlinks highlight icons 08:57
cosimo moritz_: please can you push the changes?
update-syn? 08:58
08:58 betterworld left, betterworld joined
moritz_ cosimo: doing it now, takes a while to render all the synopsis 08:59
agentzh moritz_++ :D 09:00
09:00 pmurias joined
moritz_ agentzh: I plan to migrate the update-syn and your crontab entry to a new user, so that people don't have to log in as you to run the update 09:01
agentzh moritz_: it makes a lot of sense :)
09:01 gfx left
moritz_ cosimo: it seems there's no 'cosimo' account on feather at all.. do you want one? 09:02
09:03 dalek left 09:06 dalek joined
masak ajs: ping 09:10
cosimo moritz_: yes, that would be great
masak seems some actual "I want to believe"-type people are starting to pick up on the ufo project on Twitter. :) I have no idea what they make of it, but they do link to it. 09:11
mathw hah 09:20
09:20 tomaw joined
moritz_ cognominal: could you please make your patches with `git format-patch HEAD~1' (need to commit first)? That way they are easier to apply 09:21
cosimo moritz_: actually I had thought of changing update-syn so it can run "inplace", from the svn tree itself 09:22
cognominal moritz_, ok
09:23 Gothmog_ joined, opx^away joined 09:24 astinus joined
k23z__ mberends, hey, so you want to write some bindings eh ? 09:28
mberends k23z__: yes. sorry, busy right now, but what you've written about your GUI toolkit looks interesting (and somewhat hubristic) 09:34
masak hopes someone will provide and package bindings to some of the more common GUI toolkits 09:36
mathw Oh yes 09:37
Someone will
It might even be me
Just... not yet
09:47 synth left 09:50 dakkar left 09:52 yinyin left 09:55 dakkar joined
pugssvn r31176 | cosimo++ | [docs] update-syn: also update the css file for the synopsis when syncing 09:55
r31177 | pmurias++ | [smop] fix test 10:05
10:05 agentzh left
pugssvn r31178 | pmurias++ | [mildew] dumping lexicals scopes and idconsts 10:05
r31179 | pmurias++ | [mildew] options to Mildew::Backend::OptC are optional
cosimo now the smartlinks in the syn docs are a bit better I think 10:08
i still need to fix the highlight icons, will get there soon 10:09
10:10 hirschnase joined, ciphertext joined 10:11 ciphertext left
moritz_ cosimo++ 10:12
blogs.msdn.com/b/vcblog/archive/201...ckend.aspx 10:16
pmurias moritz_: the stress modes part is interesting 10:28
10:33 hirschnase left 10:40 skids left 10:44 clintongormley joined 11:00 whiteknight joined 11:03 proller left 11:05 proller joined 11:09 pmurias left 11:14 cognominal left 11:20 cognominal joined 11:25 whiteknight left 11:26 satyavvd joined, satyavvd left, satyavvd joined
pugssvn r31180 | cosimo++ | [docs] update-syn: Clean up and make easier to relocate 11:35
11:43 ruoso joined
moritz_ [Coke]: ping 11:52
11:55 hirschnase joined
cosimo there's quite a few co* nicks too :) 11:57
mberends k23z__: ping 12:02
k23z__ mberends, pong
mberends about writing bindings for Rakudo... 12:03
we are restricted to certain call signatures because of the current way Parrot does NCI 12:04
k23z__ mberends, I got windows(with close/minimize/maximize buttons) , drag & drop , buttons , images , and hoverin/hoverout events at the moment .. I intend to basically write everything that a normal GUI toolkit does in C++ and keep it below 5000LOC
mberends k23z__: cool!
12:04 satyavvd left
mberends k23z__: the part that is likely to be hardest is getting callbacks to work for input events 12:05
k23z__ mberends, well for creating an object on the screen I create a class and derive from the basic classes(Button,Window etc) and implement methods for that class 12:06
mberends, how would you do it ?
mberends k23z__: in Rakudo we would be limited to polling
moritz_ unless there's an external runloop
k23z__ how would polling limit this ? what is it polling for ?
I have a World::Loop() which waits for events, it's wrapped inside the SDL event loops 12:07
*loop
jnthn back from meeting
Whoa...I drank *way* too much coffee at those meetings. 12:08
colomon \o/
diakopter moritz_: from your msdn link above: "We don’t require complicated harnesses since our app is short-running and we don’t have to deal with the UI automation problem that many other testers in the world do because there is no user interaction. Most of our tests are just batch or simple perl scripts with some .cpp and .h files."
mberends k23z__: I don't think Rakudo can provide anything callable from your Loop()
k23z__ mberends, why ? I can write some events or signals for Rakudo to catch and handle ... 12:09
mberends, will he have to do IPC ? or how exactly will the two communicate ?
mberends, I could also include some serialize/deserialize(JSON/XML) and make a pipe through which you could tell the GUI what you want .. 12:10
but uh.. that would be a bit slow
mberends, how do you normally write bindings for Rakudo ?
mberends k23z__: preferably all in one process, so without IPC, because Rakudo does only blocking synchronous I/O 12:11
k23z__: the normal bindings are for the Rakudo process (which is actually the Parrot executable) to load a native code library and call the functions in there. 12:12
k23z__ so I should export .so or .dll ?
and you could load and import the functions there and use them ?
mberends k23z__: yes. The .so for Unix or .dll for Windows. Both work fine. 12:13
cognominal is there a way to enumerate all the classes known from Perl 6?
moritz_ don't think so
anonymous classes might even be garbage collected once their instances fade away 12:14
mberends k23z__: are you familiar with github.com/jnthn/zavolaj ?
k23z__ not at all
jnthn anonymous classes had best be GC'd once their instances fade away. :-)
moritz_ jnthn: knowing the parrot GC... I can only hope :-) 12:15
jnthn moritz_: Well, it's not so much that Parrot GC as if it keeps another reference around to it that I didn't intend it to.
cognominal what is this backslash around anonymous going across the net :)
moritz_ all anonymous classes oppose scientology... or so :-) 12:16
mberends k23z__: Zavolaj is the tool I would like to use to create Rakudo bindings for your GUI library
k23z__ mberends, I've just read here how to use mingw to create dlls www.adp-gmbh.ch/win/misc/mingw/dll.html 12:17
mberends, so one part of the problem is solved, since I would just have to write a C api over my C++ already existing API
mberends, then using Zavolaj you can use the C API to write the bindings no ?
mberends k23z__: that would work :-)
afk & # $class 12:31
12:34 plainhao joined
colomon perl6: say 11 mod 3 12:38
p6eval rakudo 34c1ba: OUTPUT«2␤» 12:39
..pugs: OUTPUT«*** ␤ Unexpected "mod"␤ expecting operator, ":" or ","␤ at /tmp/FFEghmBGNv line 1, column 8␤»
..elf 31180: OUTPUT«Undefined subroutine &GLOBAL::infix_mod called at (eval 123) line 3.␤ at ./elf_h line 5881␤»
colomon alpha: say 11 mod 3
p6eval alpha 30e0ed: OUTPUT«infix:<mod> not yet implemented in Rakudo, sorry␤in sub »
colomon ooo, at least alpha had a nice message about it. :) 12:40
moritz_ still, surprisingly good error message :-)
12:46 synth joined 12:47 broquaint left 12:49 pmurias joined
pmurias ruoso: hi 12:49
12:51 xabbu42 left
pmurias ruoso: it turned out the segfault was a result of infinite recurssion in a incorrect test 12:51
12:51 pnu left
masak rakudo: say [mod] 100, 99, 88, 77, 66, 55, 44 12:59
p6eval rakudo 34c1ba: OUTPUT«===SORRY!===␤Could not find sub &infix:<mod>␤»
masak huh? 13:00
colomon huh.
masak rakudo: say 100 mod 99
p6eval rakudo 34c1ba: OUTPUT«1␤»
masak submits rakudobug
13:00 am0c left
masak probably a symptom of something larger. 13:00
colomon rakudo: say [div] 100, 99, 88, 77, 66, 55, 4
p6eval rakudo 34c1ba: OUTPUT«0␤» 13:01
colomon something wrong with the ordering of .pm files in the build, maybe?
13:01 [mark] left
moritz_ colomon: is it 'our' multi infix:<mod>? 13:01
ruoso pmurias, hi 13:02
colomon maybe it's the our, that's the only difference I see from div
trying that.
ruoso pmurias, that's good news...
arnsholt Are there any established practices on how and where to document modules? 13:04
PerlJam buenos dias #perl6 13:05
colomon o/
> say [mod] 100, 99, 88, 77, 66, 55, 44
1
moritz_ arnsholt: most modules use some PODish markup 13:06
masak arnsholt: anything which is an "entry point" in some sense SHOULD be documented. probably other things as well.
arnsholt: mberends is our documentation hero, so you should ask him.
13:06 Guest78028 left
masak hm, meant mberends++. :) 13:06
colomon hmmm.... where to test [mod]? 13:07
moritz_ colomon: either along with mod, or in S03-metaops/* somewhere
colomon mod is in arith.t, which seems pretty low level. 13:08
pmurias ruoso: i'll now try to steal the build system from Text::BibTeX which is a dual perl module/C library
13:10 pnu joined
ruoso pmurias, okay... there are other references if that looks complicated... 13:12
pmurias ruoso: got any links to other things to steal parts from? 13:13
13:15 am0c joined
ruoso pmurias, i've recently made a binding for Sedna 13:16
it included calling a completely external build
Module::Install (or is it Module::Build) also has a module for building c libraries I htink 13:17
pmurias ruoso: got a link for the Sedna binding? 13:20
found
13:21 proller left
pmurias ruoso: the README for Sedna is outdated as it mentions it as a dependencie 13:25
* dependency
while the POD mentions that it is bundled
13:25 proller joined 13:31 xabbu42 joined 13:37 relyonthewind joined
ruoso pmurias, er... ok... I'll update it 13:37
ruoso should probably start using Module::Install::ReadmeFromPod
13:39 relyonthewind left 13:41 JimmyZ joined 13:43 kaare joined 13:44 kaare is now known as Guest46866, xabbu42 left
arnsholt I released! 13:46
Perl 6 can now decode HMMs: github.com/arnsholt/Algorithm-Viterbi
masak \o/ 13:47
and it uses ufo! :) 13:48
pmichaud good morning, #perl6
masak morning, pmichaud
cognominal how to express the type of this structure ( "toto", [ "foo"] ,"foo" ); That is a tree of stings?
13:49 gbacon joined
arnsholt masak: ufo has a very endearing feature. I don't have to do -anything- to get it to work =D 13:49
cognominal \o/ pmichaud
colomon \o
masak cognominal: how do you mean, 'express'? you want a name for it? 13:50
I'd call it a nested array of strings.
except that the outermost layer happens to be a listcaptureparcelwhatever.
cognominal I want to declare a variable of that type, so I need to expresse that type. 13:51
13:51 felipe joined 13:52 uniejo left
masak std: subset NAoStr of Array where { all(|$_) ~~ Str | NAoStr } 13:52
cognominal So that is can be checked somehow. Statically or dynamically, par the Perl 6 compiler or a Perl 6 lint. Who knows. I don't care but I want to be able to say in a way that part of Perl6 concrete syntax.
p6eval std 31180: OUTPUT«ok 00:01 109m␤»
pmichaud cognominal: that structure starts out as a Parcel
cognominal s/par/by/ 13:53
masak cognominal: would the above be enough? seems you can recurse in subtype declarations.
std: subset NAoStr of Array where { all(|@^elements) ~~ Str | NAoStr }
p6eval std 31180: OUTPUT«ok 00:01 106m␤»
masak cackles 13:54
cognominal masak, sounds nice enough.
masak hm, probably the | isn't even needed there.
the prefix:<|>, I mean.
the infix:<|> may or may not cause an infinite loop. :/
(since junctions evaluate all their components in parallel) 13:55
but it should be OK, I think, since the structural recursion always bottoms out.
unless there are := bindings in the middle of it. :/ 13:56
masak thinks too much
pmichaud or perhaps captures 13:57
masak arnsholt: Algorithm-Viterbi added to proto's projects.list
cognominal I tend to think always a step beyond what is implemented or more often perpendicular to what is sensible.
pmichaud cognominal: oh, so you're like masak++ then? ;-) 14:00
masak 'perpendiculat to what is sensible'. yup. 14:03
s/t/r/
pmurias ruoso: smop is under Artistic 2?
[Coke] moritz_: pong. 14:06
cognominal I need to write as much code as masak++ so
14:06 dju_ left 14:07 dju joined
[Coke] finally gets around to writing a dumb builder that checks parrot and all the hlls he cares about. 14:09
cognominal rakudo: say 'abc' ~ m :g / . / 14:11
p6eval rakudo 34c1ba: OUTPUT«===SORRY!===␤Confused at line 11, near "say 'abc"␤»
cognominal oops
rakudo: say 'abc' ~~ m :g / . /
p6eval rakudo 34c1ba: OUTPUT«===SORRY!===␤Confused at line 11, near "say 'abc"␤»
14:12 plobsing joined
cognominal what is the current idiom in rakudo to do that? 14:12
14:12 proller left
cognominal rakudo: say 'abc'.match( / . /, :g ) 14:12
p6eval rakudo 34c1ba: OUTPUT«abc␤» 14:13
cognominal hooray
rakudo: say 'abc'.match( / . /, :g ).WHAT
p6eval rakudo 34c1ba: OUTPUT«Parcel()␤»
cognominal rakudo: print $_ for 'abc'.match( / . /, :g )
p6eval rakudo 34c1ba: OUTPUT«abc» 14:14
cognominal rakudo++
14:15 proller joined 14:16 pyrimidine joined
ajs rakudo: my $code = PAST::Compiler.compile(PAST::Block.new(PAST::Val.new( :value(1) ))); say $code(); 14:19
p6eval rakudo 34c1ba: OUTPUT«1␤»
ajs rakudo: my $block = PAST::Block.new(PAST::Val.new( :value(1) )); my $code = PAST::Compiler.compile($block); say $code(); 14:20
p6eval rakudo 34c1ba: OUTPUT«get_iter() not implemented in class 'Capture'␤ in main program body at line 11:/tmp/Gcz_AAWNc_␤»
k23z__ /mingw/lib/crt2.o(.text+0x37):crt1.c: undefined reference to `__cpu_features_init <--what the hell is this ?
ajs Anyone know why those two aren't the same?
jnthn rakudo: rakudo: my $block = PAST::Block.new(PAST::Val.new( :value(1) )); say "alive" 14:21
p6eval rakudo 34c1ba: OUTPUT«===SORRY!===␤Confused at line 11, near "rakudo: my"␤»
jnthn rakudo: my $block = PAST::Block.new(PAST::Val.new( :value(1) )); say "alive"
pmichaud [Coke]++
p6eval rakudo 34c1ba: OUTPUT«alive␤»
pmichaud PAST compiler might not know what to do with rakudo objectrefs 14:22
jnthn rakudo: my $block = PAST::Block.new(PAST::Val.new( :value(1) )); my $code = PAST::Compiler.compile($block);
p6eval rakudo 34c1ba: OUTPUT«get_iter() not implemented in class 'Capture'␤ in main program body at line 11:/tmp/sXHbFObB83␤»
14:22 hirschnase left
jnthn pmichaud: Oh, oddness. I'd have thought they'd be transparent to it. 14:22
14:22 hirschnase joined
pmichaud well, so would I, but normally we're doing binding instead of assignment in NQP 14:22
jnthn True.
ajs Yeah, and sadly that's not an option in Rakudo 14:23
masak submit a rakudobug?
pmichaud rakudo: my $block = PAST::Block.new(PAST::Val.new( :value(1) )); say PARROT($block)
p6eval rakudo 34c1ba: OUTPUT«Perl6Scalar->PAST;Block␤»
ajs Fair enough, just wanted to be sure I wasn't doing something stupid
Hmmm pmichaud, you might be onto something there, let me try that out 14:24
pmichaud it may also be that PAST::Compiler isn't returning something that rakudo knows how to process
jnthn pmichaud: That worked in the pervious example though.
14:24 hirschnase left
ajs It works fine in the first case 14:24
pmichaud oh, good point.
jnthn uh, previous :-)
14:24 hirschnase joined
pmichaud so I fall back to "there's something weird about $block" 14:24
yes, I would expect it to be transparent... but perhaps it isn't for some reason. 14:25
ajs rakudo: my $block = PAST::Block.new(PAST::Val.new( :value(1) )); my $code = PAST::Compiler.compile(PARROT($block)); say $code();
p6eval rakudo 34c1ba: OUTPUT«Null PMC access in type()␤ in main program body at line 11:/tmp/cgP_Wd5cmw␤»
ajs OK, will go the bug route. Thanks all.
pmichaud yes, I'd be curious as to what that could possibly be. 14:26
14:26 breinbaa1 left
pmichaud I'm also curious as to whether the get_iter is failing on a Parrot Capture or a Rakudo Capture 14:26
jnthn The latter would be very odd. 14:27
14:27 breinbaas joined
pmichaud agreed... but it's all a little odd to begin with 14:27
jnthn (Since we inherit from Parrot Capture...)
Troo. :-)
pmichaud phenny: tell sorear after thinking about it this morning, I realized that double-indirection for variables/binding isn't the answer either 14:28
phenny pmichaud: I'll pass that on when sorear is around.
14:29 plobsing left 14:30 skids joined
pugssvn r31181 | pmurias++ | [mildew] ast from the m0ld backends doesn't go through the 14:31
r31181 | simplification pass, noops in m0ld, label duplication is caught
r31182 | pmurias++ | [mildew] started porting Build.PL over from Text::BibTeX 14:32
14:32 JimmyZ left 14:35 frodwith_ is now known as frodwith 14:41 pyrimidine left 14:46 pyrimidine joined, rv2733 joined 14:47 am0c left 14:51 rgrau_ joined 14:54 proller left 14:55 estrabd_afk is now known as estrabd 14:56 xabbu42 joined 14:57 xabbu42 left
masak pmurias, ruoso, sorear: which one of you should I talk to if I'm interested in the art of turning a parse tree à la viv into an AST? 14:58
pmurias any one of us which is avalible 15:01
15:02 proller joined
masak ok, great. 15:02
I don't really know where to begin. I know the goal is to condense information by removing unnecessary information only pertinent to parsing. 15:03
I don't have very many examples of how to do that. PPI is one, I guess. 15:04
I've been looking at that a little.
jnthn masak: There's also Rakudo's Actions.pm, which is doing that very thing.
masak ah, goodie.
but Actions.pm creates PAST, right?
jnthn Yes
*AST* :-) 15:05
masak the impression I have of PAST is that it's too low-level.
but I might be wrong on that; I don't know enough about it.
jnthn I thought we'd have to extend it a lot when I first encountered it too, 2+ years back. 15:06
I was wrong.
pmurias masak: mildew/src/VAST/* contains code which turns VAST into mildew AST
15:06 proller left
masak ok, here's what I'd like to have. I want an abstraction level where I can comfortably say things like "these two methods return values of different type", "this method contains a statement which will never be reached" and "this method never refers to 'self', directly or indirectly". will VAST or PAST do that for me? 15:08
pmichaud PAST can do it, but it's not built-in.
(it can be done with PAST, but PAST doesn't provide those capabilities by default) 15:09
masak ok, that's good to know. I didn't expect it to be built-in.
I'm prepared to write search tooling myself.
jnthn It's still I expect we'd need to build some day.
If you're intested in building it, that'd be awesome.
masak I am. that's sigmund. 15:10
just thinking of what AST tech to use.
maybe PAST is it.
pmichaud for example, for the latter, we can just have every variable reference place a marker in the routine's symbol table saying "I used this"
jnthn pmichaud: Well, or walk the tree for PAST::Var nodes with a matching .name() 15:11
pmichaud jnthn: sure, but "walk the tree" is a little expensive.
masak 'self' is a term, not a variable. :)
jnthn True.
pmichaud easier to do it while building :-)
jnthn masak: That's a parsing thing. At the AST level you care about "how do I get self"
masak: And the answer is "it's stored in a lexical" 15:12
masak oh, ok.
pmichaud in rakudo, we implement self as a lex... what jnthn++ said.
I suppose it's an open question as to whether 'self' should be visible in the lexpad.
masak I need to learn to distinguish parse-phase things from things in later phases.
jnthn pmichaud: Well, it's tricky-ish to get at it now. :-)
pmichaud: Since it's stored sigil-less. 15:13
pmichaud jnthn: I was thinking in the sense of MY::
15:13 drbean left
jnthn eww 15:13
pmichaud MY::<self>
15:13 macdaddy joined, drbean joined
jnthn YOUR::<self> :-) 15:13
15:13 macdaddy is now known as Guest4174
jnthn pmichaud: Well, we can find a way around that if we need to. 15:14
pmichaud jnthn: right... I'm just idly curious at the moment. :)
jnthn pmichaud: We'll hae the same fun with MY::<__CANDIDATE_LIST__> too :-)
masak rakudo: class A { method closure { my $i = 0; return { say self, ++$i } } }; my $c = A.new.closure; $c() for ^5
p6eval rakudo 34c1ba: OUTPUT«A()<0x1a1fd80>1␤A()<0x1a1fd80>2␤A()<0x1a1fd80>3␤A()<0x1a1fd80>4␤A()<0x1a1fd80>5␤»
masak \o/
a self-sacrificing method :P 15:15
jnthn Totally giving it's self up.
pmichaud wants to attack the ticket queue, but knows that he really needs to solve lists. 15:16
masak to achieve closure, you first have to let go of the self...
15:16 xabbu42 joined
masak pmichaud: lazy lists feels like the last big remaining feature for R*. 15:17
pmichaud masak: well, working lists and iterators, yes.
it's not just laziness, it's also the mis-reporting of things like GatherIterator and the fact that binding lazy structures consumes them 15:18
and we still need working closures for R*, although that's pretty easy to solve at this point.
but closures will have to be solved in the next 3-4 days to make it into the parrot release, I suspect. 15:19
jnthn Aye, those are probably our two nastiest things at the moment.
15:20 pmurias left
jnthn pmichaud: Parrot release is a week today, I believe. 15:23
pmichaud jnthn: yes, thus closures have to be solved in the next 3-4 :)
jnthn So yes, 3-4 days to get in before the freeze.
masak does the closures trouble originate on the Parrot level?
pmichaud not any more.
but we need a new PAST node type to really handle it well.
masak oh! 15:24
pmichaud (and that's in Parrot)
wellllllll
if we *had* to, the PAST node type could come from Rakudo for a while :)
jnthn ;-)
pmichaud and then get backported into Parrot
masak no rush, then. :)
jnthn hands pmichaud a monkey with deft fingers
15:29 envi^home joined 15:35 Ross joined 15:37 arnsholt joined 15:46 patspam joined 15:52 TiMBuS left 15:55 xabbu42 left 15:57 ashleydev joined 15:58 justatheory joined
arnsholt Is there a way to make a named parameter required? (Apart from die "OMG!" if not $named) 15:58
jnthn ! 15:59
15:59 pyrimidine left
jnthn as in, :$batteries! 15:59
16:00 pyrimidine_ joined
arnsholt Yeah, that worked, thanks 16:02
(it took me a second to figure out the one-byte response, but the parallel to ? is pretty clear, when I think about it)
16:02 pyrimidine_ left 16:03 pyrimidine_ joined 16:04 pyrimidine_ is now known as pyrimi[tab] 16:05 pyrimi[tab] is now known as p[tab] 16:06 p[tab] is now known as [tab] 16:07 [tab] is now known as [tab][hunter] 16:08 [tab][hunter] is now known as pyrimidine
masak hm, A06 didn't have the exclamation mark, nor (if I read it correctly) any corresponding way to mark a named as required. and nameds were marked like this: +$named. 16:09
I'm glad it changed. :)
optional positionals were ?$opt 16:10
jnthn
.oO( A is for Aulde )
masak: Heh, that longs...just wrong now. :-)
*looks
16:11 hirschnase left 16:12 xabbu42 joined, xabbu42_ joined
k23z__ mberends, you got windoze ? I wanna send you some binaries for you to hafalook 16:13
16:13 ashleydev left 16:14 cdarroch joined, cdarroch left, cdarroch joined 16:15 ashleydev joined
mberends k23z__: sure, sounds like fun. I'll privmsg you an email address 16:15
k23z__ mberends, please do so
16:16 xabbu42 left, xabbu42_ is now known as xabbu42
TimToady masak: in all(|$x) the | is required, because $x never interpolates into a list 16:20
but don't write it that way
masak ok. 16:21
TimToady well, it was $_, so just .all works
masak ooh!
rakudo: .all
p6eval rakudo 34c1ba: OUTPUT«Method 'all' not found for invocant of class ''␤ in main program body at line 11:/tmp/E_IUQZn9ZC␤»
masak submits rakudobug
colomon What type is .all supposed to be defined on? 16:22
TimToady Any -> List
jnthn Ah, then it is a rakudobug.
rakudo: 42.all
p6eval rakudo 34c1ba: OUTPUT«Method 'all' not found for invocant of class 'Int'␤ in main program body at line 11:/tmp/P7ynz4FEml␤»
jnthn Ah, OK, actually not bug, just NYI.
16:23 alester joined
TimToady in any case, it ought to work in your subset of Array 16:24
rakudo: my @a = 1,2,3; say @a.all 16:25
p6eval rakudo 34c1ba: OUTPUT«Method 'all' not found for invocant of class 'Array'␤ in main program body at line 11:/tmp/1M77vVAN9f␤»
arnsholt masak: I've got an idea for ufo, BTW
TimToady pugs: my @a = 1,2,3; say @a.all
p6eval pugs: OUTPUT«all(VInt 1,VInt 2,VInt 3)␤»
arnsholt How about a target that reruns ufo for you?
masak arnsholt: I'm listening. so are "they".
arnsholt: a target? how do you mean?
TimToady pugs: $_ = [1,2,3]; say .all 16:26
p6eval pugs: OUTPUT«all(VRef <Array:0x2aefa8588d91>)␤»
TimToady pugs: $_ = (1,2,3); say .all
p6eval pugs: OUTPUT«all(VRef <Array:0x2b56f2f9ab91>)␤»
TimToady hmm
well, pugs isn't always right :)
oh, wait
pugs: $_ := (1,2,3); say .all 16:27
p6eval pugs: OUTPUT«all(VInt 1)␤»
TimToady pugs: $_ := [1,2,3]; say .all
p6eval pugs: OUTPUT«all(VInt 1,VInt 2,VInt 3)␤»
arnsholt masak: A target in Makefile, that runs ufo
TimToady there we go :)
arnsholt Although I suppose it's a bit stupid
But I found I wanted it nonetheless =)
masak arnsholt: so, like, 'make ufo' or something? 16:28
arnsholt: that simply runs 'ufo'?
16:28 Jedai joined
arnsholt Yeah =) 16:28
Now that I think about it, maybe not a good idea after all >.>
masak let's just say I'm not yet convinced of its advantages. :P 16:29
arnsholt I can understand that, actually =)
Maybe if ufo ever grows parameters or somesuch
Bah. My prove is too old for ufo 16:30
masak it has one, as of yesterday.
arnsholt: then your prove needs updating. maybe I should put that in the README or something.
arnsholt Yeah, I've encountered the problem before
My Ubuntu is olded 16:31
pugssvn r31183 | colomon++ | [t/spec] Add simple tests for [div] and [mod].
16:32 meppl joined
dalek kudo: 7821618 | (Solomon Foster)++ | src/core/Real.pm:
[t/spec] Add "our" to infix:<mod> definition so [mod] works.
16:32
arnsholt masak: But something you should do is mark the test and clean targets as phony targets 16:33
masak arnsholt: excellent idea. I await your patch with gratitude.
arnsholt Sure =)
masak ++arnsholt 16:34
arnsholt *sigh* This is the times when git taxes my patience 16:38
Coaxing git into making a patch takes longer than writing the patch
masak I'm not particular. I accept a gist of a diff. 16:39
16:42 ashleydev left
arnsholt masak: gist.github.com/430285 16:44
moritz_ back 16:45
[Coke]: I recall you have access to the planetsix config file... colomon's post are all shown with "colomon" as the title, not with the actual title
masak arnsholt: applied, pushed. thanks!
moritz_ [Coke]: could you please try to fix it?
masak goes home to do laundry, cook nom 16:46
16:46 masak left
colomon I'm not really that vain, honest! ;) 16:46
moritz_ colomon: that's what they all say :-)
[Coke] moritz_: it's his feed. 16:47
view-source:justrakudoit.wordpress.com/feed/
says: "
<media:title type="html">colomon</media:title>
sorry.
moritz_ huh? 16:48
16:48 mberends left
moritz_ [Coke]: ah, that's the feed title 16:48
[Coke]: but what we want is <title> inside each item 16:49
<item> <title>Mandelbrot</title> ...
jnthn moritz_: It is inside each item though - but it's the title for the gravator...
*gravatar
[Coke] moritz_: ah...
jnthn Maybe the parser is not very namespace aware. ;-)
[Coke] in that case it's not a config issue, it's a bug in the planet code, I'm guessing.
colomon is glad you guys understand what is going on, I was just trying to figure out how to fix it... 16:50
[Coke] if there is a different feed I could try, I can do that, otherwise, best to bump to the planet coders.
moritz_ [Coke]: not aware of one :( 16:54
[Coke] moritz_: I'd ping robert and ask. 16:56
moritz_ ok, I'll write a mail
colomon moritz_++ 17:00
moritz_ done
17:03 dakkar left
[Coke] moritz_++ 17:03
jnthn realizes he'd better make a start on his talks for $workshop today. 17:04
moritz_ speaking of today... #phasers in 1:54? 17:06
arnsholt What is this #phasers thing? 17:09
moritz_ what previously was #rakudosketch
our weekly status meeting
arnsholt Ah, right
[Coke] sighs. I'm going to have to do another bisect to figure out when partcl-nqp died. =| 17:11
whoops. ww
jnthn Yes, #phasers is today 17:12
We'll see who makes it. :-)
colomon moritz_: thanks for the reminder, too.
(#phasers, I mean.) 17:13
17:15 szabgabx joined 17:21 estrabd left 17:23 estrabd joined
cognominal rakudo: : :g.perl 17:23
oops
p6eval rakudo 782161: OUTPUT«===SORRY!===␤Confused at line 11, near ": :g.perl"␤»
cognominal rakudo: :g.perl
p6eval rakudo 782161: ( no output )
cognominal rakudo: say :g.perl
p6eval rakudo 782161: OUTPUT«"g" => Bool::True␤»
cognominal I thought that was :g(0) 17:24
17:24 estrabd left, rgrau left 17:26 stephenlb joined, estrabd joined
cognominal ho, apparently that has changed. 17:26
17:30 estrabd left 17:32 gbacon left 17:42 pyrimidine left, pyrimidine joined, pyrimidine left 17:45 Intensity left
TimToady cognominal: it was never :g(0), though rakudo had it :g(1) at one point 17:47
that is, :foo has always implied true, not false 17:48
moritz_ it's :!foo that's false
TimToady nodnod
17:49 k23z__ left, stephenlb left 17:51 stephenlb joined 17:52 estrabd joined 17:54 estrabd left 17:55 estrabd joined
cognominal anyway, it makes more sense even if it may be heavier on memory implemantation-wise. 17:55
dalek kudo: acecb97 | moritz++ | src/core/Match.pm:
remove some clutter from Match.perl output
17:59
18:00 xabbu42 left, mberends joined, Chillance joined
arnsholt I even blogged: blogs.perl.org/users/arne_skjaerhol...erl-6.html 18:01
(Most fitting would perhaps be if the post was generated by a HMM language model, but I think readability would suffer ^^)
TimToady cognominal: as many Lisp implementations have shown, there is nothing that says a unit cell must always be interpreted as a native int; certainly in Perl 6 the unit cell could encode commont Int values and common enum types 18:02
moritz_ www.perlmonks.org/?node_id=843572 btw 18:04
18:08 christine left 18:10 broquaint joined 18:12 envi^home left
cognominal TimToady: A scalar being a degenerated list with one element. Should I have failure like that : Method 'sort' not found for invocant of class 'String' ? 18:15
That would avoid to special case a lot of code.
afk& 18:16
pmichaud phenny: tell sorear disregard my previous message... we do need double-indirection, it just looks very different from what I was originally expecting. 18:21
phenny pmichaud: I'll pass that on when sorear is around.
moritz_ pmichaud: is there anything I can do to help you get inversion lists and backslash escapes in char classes running? 18:22
18:22 xabbu42 joined
pmichaud moritz_: let me see if I can figure out how to write it up. 18:22
(the description)
18:22 christine joined 18:24 xabbu42 left
moritz_ one more things... 18:24
for MAIN I want to add a contextual to the module loader that indicates if we're compiling a module or not 18:25
and if not, add a call to a MAIN_HELPER or so to the end of the mailine code
does that sound like an accecptable plan? 18:26
pmichaud no
I think we decided a bit ago that using contextuals for this isn't really the way to go
moritz_ did we settle on an alternative?
pmichaud yes, but haven't implemented it yet. 18:27
essentially, YOU_ARE_HERE needs a refactor.
The first (outermost) sub in any compiled module needs to see if it has an outer context.
If it has an outer context, then it's not the mainline.
If it doesn't have an outer context, it is the mainline.
moritz_ modules have an outer context? 18:28
I mean, other than the setting
pmichaud well, it's more in the sense of "am I an eval" versus "am I a module" 18:31
moritz_ use Foo; # shouldn't execute Foo.pm's MAIN sub
actually for now I'd even always include a call to MAIN_HELPER 18:32
and do the "run only if" part later as a refinement
18:33 SmokeMachine joined 18:37 xabbu42 joined 18:40 pyrimidine joined 18:41 xabbu42 left 18:42 christine left
moritz_ rakudo is awesome 18:42
with Q:PIR and the setting I can prototype my Rakudo code outside the compiler 18:43
18:45 jaldhar left
jnthn #phasers in 13 mins or so 18:47
18:47 justatheory left 18:49 k23z__ joined 18:50 alester left, alester joined
moritz_ nopaste.snit.ch/21083 18:50
I don't understand why I get that Null PMC Access
18:50 xabbu42 joined
moritz_ %r should be the Any type object, not Null 18:50
moritz_ feels rather dumb 18:52
jnthn %r = $P0['&MAIN']
moritz_: You're checking if the lexpad is null
moritz_: But assuming that if the lexpad exists, there must be a &MAIN in it
moritz_ ah 18:53
jnthn My guess is that the line I pasted is the source of your fail.
moritz_ you're right
jnthn++
now that I know what my error was, it's easy to fix
pmichaud 18:42 <moritz_> rakudo is awesome 18:54
I like reading that. :)
cognominal Answering my own question @( ) is not so much a hassle 18:55
k23z__ mberends, ?
mberends, ping
mberends k23z__: pong
k23z__ mberends, cloud.github.com/downloads/wsdookad.../wfsdl.rar 18:56
18:58 samlh joined
mberends k23z__: I see the email, will be starting up windoze in a few minutes :) 18:58
k23z__ gr8
moritz_ rakudo: my $x = 5; $x does False; say $x.Bool 18:59
p6eval rakudo acecb9: OUTPUT«0␤»
mberends k23z__: it looks like you've done a lot of work there :)
moritz_ rakudo: my $x = 5; say $x.Bool
p6eval rakudo acecb9: OUTPUT«1␤»
k23z__ mberends, haha
moritz_ nopaste.snit.ch/21084 rather close to initial MAIN handling 19:02
19:05 masak joined
pmichaud moritz_: I'm fine with whatever MAIN handling you want to put in place.. my concern is that we're starting to layer too many special-purpose dynamic vars into the loading process and not thinking about the bigger picture of how things fit together. 19:06
(which is why YOU_ARE_HERE needs a bit of a rework)
and the $*IN_EVAL dynamic var is EVIL 19:07
(it needs to go away)
moritz_ pmichaud: I'll introduce no dynamic vars, and live with always calling all MAIN subs
pmichaud wfm for now.
I expect I'll be able to address it in about a week.
(i.e., before the next rakudo release)
back to list design
19:08 _ilbot2 left 19:09 _ilbot2 joined 19:13 christine joined
cognominal that's creepy when, by mistake, I type 'say <something>' at the bash prompt instead of the rakudo and my mac reads it aloud. 19:15
PerlJam it's a feature!
samlh lol
cognominal but that happens because I am thrown out of the rakudo shell with get_string() not implemented in class 'ArrayIterator' 19:16
arnsholt The same thing happens to me from time to time =) 19:17
pmichaud eta to #rs? 19:18
moritz_ pmichaud: -18
pmichaud: in #phasers
pmichaud oops
19:32 lucs joined 19:34 ShaneC joined 19:38 rokoteko joined
rokoteko will you be able define your own ops in perl6? 19:38
moritz_ rakudo: multi sub postfix:<!>($x) { [*] 1..$x }; say 51 19:39
p6eval rakudo acecb9: OUTPUT«51␤»
moritz_ rakudo: multi sub postfix:<!>($x) { [*] 1..$x }; say 5!
jnthn fail ;-)
p6eval rakudo acecb9: OUTPUT«120␤»
moritz_ better :-)
rokoteko I mean like make an op called "*!*" that does what you want? ie. $result = 1 *!* 2; ? 19:40
moritz_ sure
what do you want *!* to do?
jnthn rokoteko: Like above but infix:<*!*> and take two args.
rokoteko jnthn: yes. infix sub that thakes two args, named in a weird way. :) 19:41
moritz_: I dunno. maybe $a**$b-1, if you need something.
moritz_ rakudo: sub infix:<*!*>($x, $y) { $x ** ($b - 1) }; say 2 *!* 9
p6eval rakudo acecb9: OUTPUT«===SORRY!===␤Symbol '$b' not predeclared in infix:<*!*>␤»
moritz_ rakudo: sub infix:<*!*>($x, $y) { $x ** ($y - 1) }; say 2 *!* 9
p6eval rakudo acecb9: OUTPUT«256␤» 19:42
rokoteko ah, brilliant.
something new. :)
TimToady I think ($a**$b)-1 is more useful...
19:43 plainhao left 19:45 Jedai left, Jedai joined
takadonet TimToady: ... 19:52
jnthn std: $* 19:57
p6eval std 31183: OUTPUT«===SORRY!===␤Unsupported use of $* variable; in Perl 6 please use ^^ and $$ at /tmp/Nw0NoTCfy1 line 1:␤------> $*⏏<EOL>␤Parse failed␤FAILED 00:01 107m␤»
jnthn std: my $* = 42;
p6eval std 31183: OUTPUT«===SORRY!===␤Unsupported use of $* variable; in Perl 6 please use ^^ and $$ at /tmp/msn7f4ez6E line 1:␤------> my $*⏏ = 42;␤Parse failed␤FAILED 00:01 104m␤»
jnthn Aww!
masak std: ^^
p6eval std 31183: OUTPUT«Use of uninitialized value $bad in concatenation (.) or string at STD.pm line 67904.␤===SORRY!===␤Preceding context expects a term, but found infix instead at /tmp/GWZ6elm6cy line 1:␤------> ^^⏏<EOL>␤Parse failed␤FAILED 00:01 105m␤»
masak TimToady: ^^
20:02 rv2733 left 20:03 patrickas joined, Psyche^ joined
patrickas hello 20:03
moritz_ hi patrickas 20:04
I'm currently working on MAIN sub included in rakudo
patrickas hi moritz_
\o/ maskak++
i mean moritz_++
moritz_ I got it far enough not to Null PMC Access
patrickas keyboard confusion :-)
moritz_ but it's not calling MAIN yet :(
patrickas Null PMC Access is good :-) 20:05
rokoteko are, let's say Int and Num somehow connected in the type system, or are they as separate as Int and Str?
patrickas can i help somehow ?
moritz_ rakudo: say Int ~~ Numeric 20:06
jnthn rokoteko: Well, they both do the Numeric role
p6eval rakudo acecb9: OUTPUT«1␤»
moritz_ rakudo: say Num ~~ Numeric
p6eval rakudo acecb9: OUTPUT«1␤»
moritz_ and both do the Real role too
rokoteko jnthn: nods. something like this I was waiting for as an answer. so roles can be user to extend the type-system?
moritz_ patrickas: I can push what I have to branch, maybe you have some ideas 20:07
patrickas: pushed to branch MAIN 20:08
20:08 Patterner left, Psyche^ is now known as Patterner
jnthn rokoteko: Well, so can classes in that sense. :-) 20:08
rokoteko: We just define a Numeric role and Int and Num both declare themselves as doing it. 20:09
rokoteko: But any class doing Numeric-y things can also declare itself as "does Numeric" too.
So it's a way to be extensible in that sense I guess, yes.
moritz_ I guess the change to src/Perl6/Actions.pm isn't doing what it should 20:10
rokoteko jnthn: ok, thanks for explanation. 20:12
patrickas moritz_ ok I'll take a look
20:15 masak left
moritz_ ah, I guess the :name() thing is wrong 20:15
if only I spoke PAST fluently...
20:18 cdarroch left 20:19 samlh left
rokoteko how would I find out all the roles that f.ex. Num does? 20:19
moritz_ by reading the source code :-)
jnthn rakudo: say Num.^roles.perl
p6eval rakudo acecb9: OUTPUT«(Real[], )␤»
jnthn Though Real in turn does Numeric 20:20
...and that trailing comma is freaky.
moritz_ but not wrong
20:20 smash__ joined
smash__ hello everyone 20:20
jnthn moritz_: No, but it may indicate something else is.
moritz_ hm
jnthn: how do I call a sub in PAST? PAST::Op.new(:pasttype('call'), '&subname') ? 20:21
or :name('&subname')? 20:23
jnthn :name('&subname') 20:25
pmichaud rakudo star repo now at github.com/rakudo/star
20:26 cdarroch joined, cdarroch left, cdarroch joined, patrickas_ joined, patrickas left, patrickas_ is now known as patrickas
pmichaud current committers are pmichaud, jnthn, moritz, masak, perlpilot 20:26
20:28 ethel joined
cognominal pmichaud, what's the purpose of a new repo? 20:28
patrickas so I guess you guys are the santa clauses who'll bring christmas to us all ? :-) 20:29
pmichaud cognominal: distributions are separate from compiler releases
PerlJam cognominal: we need a place to put the dist
cognominal ok
pmichaud there can be many different distributions based on the rakudo perl compiler
cognominal patrickas++
jnthn afk for a little bit
smash__ moritz_: ping 20:32
moritz_ smash__: pong
smash__ moritz_: need a sugestion where to add a test for RT#69232 so i can close the ticket.. any ideas ? 20:33
moritz_ smash__: looking...
20:33 pyrimidine left
pmichaud if someone wants to add rakudo/star.git to hugme, that'd be great. 20:33
20:33 pyrimidine joined
pmichaud for the star repository, I vote for a liberal commitbit policy 20:34
20:34 pyrimidine left
moritz_ pmichaud: I'd need the rakudo account API token for that 20:34
20:34 pyrimidine joined
pmichaud moritz_: won't it be the same as rakudo? or do you not have that already? 20:34
hugme show rakudo
hugme pmichaud: sorry, I don't know anything about 'rakudo'
pmichaud oh.
moritz_ smash__: it would be ideal to get t/spec/S32-io/IO-Socket-INET.t running on Rakudo master
smash__: and add the test there
smash__ moritz_: i can have a look at it.. no promisses tho 20:35
pmichaud moritz_: /priv msg okay for api token?
moritz_ pmichaud: yes
dalek kudo: 4df5081 | pmichaud++ | docs/release_guide.pod:
Tentative name for June release.
20:36
20:36 luben_k joined
moritz_ hugme: reload 20:38
20:38 hugme left 20:39 hugme joined
moritz_ hugme: show star 20:39
hugme moritz_: the following people have power over 'star': T⁣imToady, [⁣particle], c⁣olomon, j⁣nthn, m⁣asak, m⁣berends, m⁣oritz_, p⁣michaud, s⁣orear. URL: github.com/rakudo/star/
20:39 xenoterracide joined, xenoterracide left
patrickas damnt it! Now I got it! 20:39
It's the "star" that announces christmas! 20:40
sorry that was the last pun
no more siliness from me
PerlJam patrickas: too bad.
pmichaud the "star" has lots of meanings 20:43
patrickas well I was aware of the whatever
and had guessed "the star of the show" meaning
but it's the first time that I make the christmas connection 20:44
cognominal I know that BooK's wife is expecting a kid in August. Would he be our savvior? In a few years, will he argue succesffuly with the priests in the temple about the Perl 6 scriptures. 20:46
smash__ moritz_: ahh, you tricked me ;) 20:47
PerlJam Perl 6 has no temple. 20:48
20:48 luben_k left, pyrimidine left
patrickas Perl 6 has no priests 20:48
20:48 clintongormley left
moritz_ oh sure it has 20:49
use.perl.org/~masak/journal/39445
smash__ i always played as priest !!
PerlJam pmichaud: are you paying attention to #ps? 20:51
patrickas Perl 6 has no priests .oO(just perlmonks) but I guess I was wrong :-) 20:53
cognominal pmichaud, I must talk with mberends at the french workshop this Friday. about rakudo *, is there a page I can refer to?
pmichaud cognominal: no, it's one of my many todos 20:55
I might be able to write something up by then
at least some talking points or bullet points would be good
mberends sneezes 20:56
cognominal I don't care so much about the date but about the features. I am seeing the docs/ROADMAP file , I suppose I can say the really important items will be solved. 20:57
mberends cognominal: do you mean talk about Rakudo * ?
cognominal By the way I am working on a presentation tool tentatively called Silver Bullets designed to present slides with annotated code. 20:58
20:58 hirschnase joined
cognominal mberends: at fpw, I will talk about rakudo * :) You will talk of that + everything else :) 20:59
20:59 skangas joined 21:04 Ross left 21:05 jjore left, whiteknight joined 21:07 jjore joined, Su-Shee left 21:08 hirschnase left 21:09 alester left 21:10 justatheory joined 21:11 xabbu42 left 21:12 ggoebel joined 21:17 alester joined 21:19 LionMadeOfLions joined 21:22 azert0x joined 21:24 cognomore joined 21:44 SmokeMachine left 21:46 Guest46866 left
cognominal In rakudo, I suppose that without the := operator. I can't replace ["est"] in [ "ceci", ["est"], "une pipe" ]; 21:49
I must walk the structure and build another...
colomon rakudo: my @a = [ "ceci", ["est"], "une pipe" ]; say @a[1] = "is"; say @a.perl 21:51
p6eval rakudo 4df508: OUTPUT«␤Cannot assign to readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 11:/tmp/HxoEjj0qDL␤»
colomon rakudo: my @a = ( "ceci", ["est"], "une pipe" ); say @a[1] = "is"; say @a.perl 21:52
p6eval rakudo 4df508: OUTPUT«est␤Cannot assign to readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 11:/tmp/9FcbrVp0dR␤»
colomon rakudo: my @a = ( "ceci", ["est"], "une pipe" ); say @a[0] = "is"; say @a.perl
p6eval rakudo 4df508: OUTPUT«ceci␤Cannot assign to readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 11:/tmp/6uoFNOkGm5␤»
colomon rakudo: my @a = ( "ceci", ["est"], "une pipe" ); @a[0] = "is"; say @a.perl
p6eval rakudo 4df508: OUTPUT«["is", ["est"], "une pipe"]␤»
colomon ah, typo
rakudo: my @a = ( "ceci", ["est"], "une pipe" ); @a[1] = "is"; say @a.perl 21:53
p6eval rakudo 4df508: OUTPUT«["ceci", "is", "une pipe"]␤»
colomon probably doesn't understand the question, and is off to the pub anyway...
cognominal well I want to have variables that would bind to subbranches, so I want them to see the modification. 21:55
Anyway, I have a workarouand.
21:56 eternaleye left 22:04 estrabd is now known as estrabd_afk 22:08 skids left 22:09 REPLeffect left, mikehh joined 22:10 REPLeffect joined 22:20 eternaleye joined 22:37 d4l3k_ joined, dalek left, d4l3k_ is now known as dalek 22:39 smash__ left 22:50 Wolfman2000 joined 22:51 arnsholt left 22:54 dukeleto joined 22:55 snoopy joined 22:56 snoopy is now known as Guest9064
dukeleto howdy 22:56
i have figured out how to load perl6.pbc 22:57
gist.github.com/430762 <-- src/metamodel/ClassHOW.pir needed a :load 22:58
jnthn wonders why it was missing in the first place 22:59
dukeleto jnthn: can you apply that?
jnthn Yeah, I'm just trying to remember if doing so will break something else.
dukeleto jnthn: i am runnign "make test" with it now 23:00
jnthn Needs make spectest really I guess
dukeleto jnthn: basic sanity tests pass, trying spectest now
jnthn: that allows loading perl6.pbc without running it 23:01
jnthn *nod*
dukeleto jnthn: without :load, it is impossible to load perl6.pbc without running it
jnthn: but yes, it could break something
jnthn dukeleto: Yeah. I'm hoping it's just a mistake rather than deliberately missing the :load.
I can't think of anything it'd break, so I'll go with mistake. :-) 23:02
dukeleto jnthn: most likely it is just a mistake, no one has tried to load the PBC without running it, most probably
23:02 Jedai left
dukeleto jnthn: but for PL/Perl6, i need to load perl6.pbc in the Parrot interp that will compile stored procedures written in Perl 6 23:03
jnthn dukeleto: If the spectest comes back clean (doing a run now) I'll apply it.
dukeleto jnthn: awesome!
jnthn rakudo: say [mod] 100, 99, 88, 77, 66, 55, 44
p6eval rakudo 4df508: OUTPUT«1␤»
dukeleto jnthn: i am seeing a failure in S02-literals/listquote-whitespace.rakudo, is that expected ? 23:04
jnthn No, but I wonder if it's a failed PARROT_REVISION bump.
pmichaud++ fixed something in nqp-rx in that area recently. 23:05
dukeleto jnthn: i am not using --gen-parrot, that is why. livin' on the bleeding edge for convenience, but my spectest is probably not valid
jnthn: since you are running one, I will kill mine
jnthn oh no, it was a Rakudo patch to fix that one 23:06
Hmm
Anyway, I doubt it's anything related to this patch.
dukeleto hopes for the best 23:07
23:07 patrickas left
eternaleye S06-routine-modifiers/proxy.t seems somewhat bitrotted; it uses the syntax 'new Proxy' 23:09
jnthn Eww. 23:10
Yes, decidedly bitrotten
Or just wrong since it's inception but never run. :-)
jnthn tests a cognominal++ patch too 23:12
23:16 arnsholt joined
eternaleye I was looking at it because I was curious as to how one defined a scalar container oneself to be used with my $foo is MyContainer. (I had this idea of my Int $foo is ( Scalar but Logged[$filehandle] ); ) 23:16
23:22 eternaleye left 23:27 ciphertext joined 23:28 lest_away is now known as lestrrat 23:31 eternaleye joined 23:32 skids joined, Util joined 23:34 cotto_work joined
Util Within a sub, how can you tell if a optional parameter was passed, if undefined values are valid arguments for that parameter? 23:34
23:35 cotto_work left
jnthn Util: Get the capture, and check the number of elements in it. 23:35
Well, the list part of it.
sorear returns
phenny sorear: 14:28Z <pmichaud> tell sorear after thinking about it this morning, I realized that double-indirection for variables/binding isn't the answer either
sorear: 18:21Z <pmichaud> tell sorear disregard my previous message... we do need double-indirection, it just looks very different from what I was originally expecting.
jnthn yayitssorear
sub foo(|$c, $x, $y?) { if +@($c) == 2 { ... } } 23:36
Or some such.
Util jnthn: And if there are multiple optional parameters?
jnthn Util: If they're positional, then later ones can't be passed positionally without passing earlier ones. 23:37
23:38 alester left
Util jnthn: true; I meant optional named params in the last question. 23:39
jnthn Util: if %($c).exists('the_name') { ... } 23:41
Util jnthn: Doh! Thank you!
23:41 szabgabx left
jnthn Util: though another trick is to have a "clever" default value that sets a flag if it is triggered. 23:42
eternaleye std: role Logged[$fh] { method FETCH { say $fh, "Accessed at { localtime }, value: { (callsame).perl }"; nextsame }; method STORE { say $fh, "New value stored at { localtime }, value: { $^val.perl }"; nextsame }; }; my Inf $foo is ( Scalar but Logged[$*IN] ); $foo = 3; say $foo; $foo = 5; $foo = "UhOh";
p6eval std 31183: OUTPUT«===SORRY!===␤Placeholder variable $^val may not be used here because the surrounding block takes no signature at /tmp/pEwVec6mlm line 1:␤------> stored at { localtime }, value: { $^val⏏.perl }"; nextsame }; }; my Inf $foo is ␤In my
..declaration,…
cxreg why the separate repo for star?
eternaleye std: role Logged[$fh] { method FETCH { say $fh, "Accessed at { localtime }, value: { (callsame).perl }"; nextsame }; method STORE( $val ) { say $fh, "New value stored at { localtime }, value: { $val.perl }"; nextsame }; }; my Inf $foo is ( Scalar but Logged[$*IN] ); $foo = 3; say $foo; $foo = 5; $foo = "UhOh"; 23:43
p6eval std 31183: OUTPUT«===SORRY!===␤In my declaration, typename 'Inf' must be predeclared (or marked as declarative with :: prefix) at /tmp/bwL3rbQiBL line 1:␤------> e: { $val.perl }"; nextsame }; }; my Inf⏏ $foo is ( Scalar but Logged[$*IN] ); $f␤Malformed my at
../tm…
Util jnthn: would $y.exists work?
jnthn cxreg: It's a distribution release rather than just a compiler one, so we need to collect various things together.
Util: No
eternaleye std: role Logged[$fh] { method FETCH { say $fh, "Accessed at { localtime }, value: { (callsame).perl }"; nextsame }; method STORE( $val ) { say $fh, "New value stored at { localtime }, value: { $val.perl }"; nextsame }; }; my Int $foo is ( Scalar but Logged[$*IN] ); $foo = 3; say $foo; $foo = 5; $foo = "UhOh";
p6eval std 31183: OUTPUT«===SORRY!===␤Confused at /tmp/_XZNdUP5Ql line 1:␤------> .perl }"; nextsame }; }; my Int $foo is ⏏( Scalar but Logged[$*IN] ); $foo = 3; s␤ expecting name␤Parse failed␤FAILED 00:01 108m␤»
eternaleye std: role Logged[$fh] { method FETCH { say $fh, "Accessed at { localtime }, value: { (callsame).perl }"; nextsame }; method STORE( $val ) { say $fh, "New value stored at { localtime }, value: { $val.perl }"; nextsame }; }; my Int $foo is Scalar but Logged[$*IN]; $foo = 3; say $foo; $foo = 5; $foo = "UhOh"; 23:44
p6eval std 31183: OUTPUT«ok 00:01 108m␤»
eternaleye rakudo: role Logged[$fh] { method FETCH { say $fh, "Accessed at { localtime }, value: { (callsame).perl }"; nextsame }; method STORE( $val ) { say $fh, "New value stored at { localtime }, value: { $val.perl }"; nextsame }; }; my Int $foo is Scalar but Logged[$*IN]; $foo = 3; say $foo; $foo = 5; $foo = "UhOh";
p6eval rakudo 4df508: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $child, Role $r)␤:(Code $block, Any $arg?, Any :export($export)!)␤:(Mu $child, Mu $parent)␤␤ in main program body at line 11:/tmp/CBdR5PS1Zb␤»
jnthn eternaleye: I'm not entirely convinced that'll work. (more)
Traits should be applied once, and at compile time, if they're really done correctly.
Not per "instance" of the variable. 23:45
You could make it work perhaps with a filename rather than a file handle.
Rakudo doesn't know how to handle it yet still, though.
eternaleye Yeah, I was thinking more of using it as a quick debugging tool
23:45 tedv joined
eternaleye Rather than something to use in production 23:45
jnthn Also, calling callsame and nextsame will call the next candidate twice. 23:46
Not just once and keep the return value.;
But again, easily enough default with.
eternaleye Ooh, forgot the my $foo = callsame idiom.
jnthn *nod* 23:47
23:50 cdarroch left, ethel left 23:53 szabgabx joined 23:57 Intensity joined
[Coke] p3 23:57
dukeleto jnthn: how is that spectest looking?
[Coke] *argh*
jnthn dukeleto: dobre :-)
dukeleto: It just finished, I just pushed.
dukeleto jnthn: awesome! 23:58
cxreg i'm not crazy; laziness is incomplete or entirely unsupported, right? 23:59