Parrot 0.6.3 "Beautiful Parrot" Released | parrotcode.org/ | 5/649/88 new/open/stalled tix | logged in irclog.perlgeek.de/parrot/today
Set by moderator on 17 June 2008.
00:09 AndyA joined 00:17 contingencyplan joined
Tene debates between napping and aimlessly hacking on rakudo with coroutines and lazy lists and gather/take. 00:17
Whiteknight votes for aimless hacking 00:19
Limbic_Region Tene - as long as you don't take after audreyt and hack while your napping 00:20
it leads to burn out
Whiteknight oh, true. we don't need people getting burnt out\\ 00:22
Tene I do my best hacking in my sleep. 00:29
Of course, then I have to try to work while sleeping, and I'm dramatically less successful at that.
cotto_work also, avoid the bathtub 00:30
it is not an ideal hacking environment
Tene I did the first draft of chitchat in the bathtub. 00:32
Whiteknight laptop + bathtub = segfault 00:37
cotto_work Tene, is that a language you're using to teach yourself the PCT or are you porting an existing language? 00:39
Tene cotto_work: smalltalk
Whiteknight I've always wanted to learn smalltalk. This might be my excuse 00:56
Auzon thinks chitchat is a brilliant name for a smalltalk implementation
Whiteknight agreed 00:57
00:57 TiMBuS joined
davidfetter mmm...chitchat 01:04
cotto_work going home & 01:16
01:31 Andy joined
Limbic_Region Tene - Randal and I shared a cab back to our respective hotels and we discussed what it would take to port smalltalk to Parrot - he seemed quite interested 01:40
davidfetter he's over at irc://irc.freenode.net/postgresql 01:46
as RandalSchwartz
02:04 kid51 joined, jjore joined
DietCoke I have cygwin, but have crappy luck building parrot. 02:18
Limbic_Region DietCoke - why so? 02:20
Limbic_Region builds Parrot on cygwin regularly
DietCoke if I knew that, I wouldn't have crappy luck building parrot. =-)
Yes. I for the longest time, on my work machine, I was never able to get a successful build, and no one was ever able to figure out why. 02:21
I haven't tried on my windows laptop in some time, as strawberry perl JFW.
Limbic_Region well, interestingly enough - there are instances where the only fix is a fresh checkout
DietCoke didn't help. =-)
Limbic_Region but I assume you really don't want a parrot cygwin
DietCoke it was something about my cygwin install.
I don't, but don't mind testing it occasionally.
Limbic_Region I tested japhb's OpenGL patch tonight - freaking cool 02:22
but now it is bed time
TTFN
kid51 DietCoke: Have you had a chance to look at patch re ops_renum.mak? 02:24
DietCoke No, sorry, not yet. 02:33
03:08 Andy left 03:10 gryphon joined, apeiron joined 03:15 tetragon joined 05:05 Psyche^ joined 06:48 Andy joined 06:57 iblechbot joined
cotto_home earth status? 07:00
purl, earth status is <reply>not destroyed
that bot's getting fickle lately
07:09 _Maghnus joined 07:13 masak joined 08:00 _Maghnus joined 08:43 lichtkind joined 08:50 apeiron_ joined 08:59 apeiron joined 09:02 bacek joined 09:56 Zaba joined
dalek r28673 | fperrad++ | libs4php: 10:05
: [php] some math
diff: www.parrotvm.org/svn/parrot/revision?rev=28673
bacek "#44211: pi and e behaving strangely when used as a bareword in math" 10:07
I think this one can be closed now.
evening everyone.
pugs?
moritz good localtime() bacek ;) 10:12
bacek: no purl around
bacek lazy bot... 10:13
Looks like we need another one...
moritz OH NOEZ
bacek perl6: my $halfPi = pi()/2; say sin $halfPi; 10:15
polyglotbot OUTPUT[1␤]
bacek Bot::BasicBot::Pluggable? 10:21
moritz Bot::BasicBot, yes 10:22
I guess it's a modified version of p6eval, which lives in the pugs repo in misc/evalbot/ 10:23
bacek ::Pluggable have almost all modules. E.g. Karma, etc
moritz oh, I thought you were referring to polyglotbot
bacek: or look at infobot on cpan
bacek 336 results for 'IRC' on cpan :) 10:24
moritz and 250 for 'bot' ;)
spinclad perl6: say e**(i*pi/2)
polyglotbot OUTPUT[Could not find non-existent sub i␤current instr.: '_block11' pc 31 (EVAL_12:16)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:469)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1088 (src/PCT/HLLCompiler.pir:598)␤called from Sub
..'parrot;PCT::HLLCompiler;command_line' pc 1267 (src/PCT/HLLCompiler.pi...
spinclad perl6: say e**(pi/2) 10:25
polyglotbot OUTPUT[4.81048␤]
spinclad perl6: say e**(1i*pi/2)
polyglotbot OUTPUT[4.81048␤]
moritz ouch
that's just a bit wrong ;)
e^(i pi / 2) == i, right? 10:26
spinclad yes
e^(2pi i / 4)
bacek perl6: say 1i*pi
polyglotbot OUTPUT[0+3.14159i␤]
bacek perl6: say 1i*pi/2
polyglotbot OUTPUT[0+1.5708i␤]
bacek perl6: say 1i**2
polyglotbot OUTPUT[1␤]
spinclad perl6: say e**(1.5708i) 10:27
polyglotbot OUTPUT[4.8105␤]
moritz ok, complex ** isn't implemented
or not correctly
bacek yet another multi-method required function...
spinclad perl6: say pi / 2; 1; 10:29
polyglotbot OUTPUT[Statement not terminated properly at line 1, near "1;"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 20609 (src/gen_grammar.pir:2813)␤called from Sub 'parrot;Perl6::Grammar;statementlist' pc
..19622 (src/gen_grammar.pir:2450)␤called from Sub '...
spinclad perl6: say pi / 2;
polyglotbot OUTPUT[3.14159␤]
bacek src/builtins/op.pir
line 48
spinclad perl6 seems old; pi / 2; should be working today
polyglotbot control restart 10:30
bacek at least 3 days old...
moritz spinclad: restarting won't rebuild
spinclad (control restart not even recognized, right?) 10:31
moritz evalbot control restart
right
bacek > say e**(1i*pi/2); 10:39
4.81048+0i
yak. Parrot's complex's pow...
Patterner > say e**(1i*pi*2)+1 10:41
spinclad 2.0 10:42
10:45 Zaba joined
bacek > say e**(1i*pi*2)+1 10:50
536.492+0i
o-ho-ho...
what is 'magick spell' to auto-install dependencies with cpan? 10:51
moritz o conf prerequisites_policy follow
bacek moritz++ # just waste some karma :) 10:52
moritz waste implies loss 10:54
bacek it doesn't work... ==> Auto-install the 5 mandatory module(s) from CPAN? [y] 10:55
it was magick environment var IIRC 10:56
moritz yes | cpan -i $module # /me ducks
moritz is confused - 'ask' should ask, 'follow' shouldn't ask 10:57
bacek PERL_EXTUTILS_AUTOINSTALL 10:58
moritz, +1 10:59
moritz shouldn't cpan walk the dependency tree and first install the leaves?
bacek it should. But it asks... 11:00
and still asks... 11:01
probably sudo clean env... 11:02
installing something on old PPC/G4 is slooooow... 11:06
11:39 tetragon joined, Zaba_ joined, stupidbot joined
bacek stupidbot? 11:40
seen moritz
clunker3 moritz was last seen on #parrot 40 minutes and 45 seconds ago, saying: shouldn't cpan walk the dependency tree and first install the leaves?
stupidbot Sorry, I haven't seen moritz
bacek a-ha
I werks!
It works
moritz seen bacek 11:41
clunker3 bacek was last seen on #parrot 7 seconds ago, saying: It works
stupidbot bacek was last seen in #parrot 7 seconds ago saying 'It works'
bacek karma moritz
stupidbot moritz has karma of 0
bacek moritz++
karma moritz
stupidbot moritz has karma of 1
bacek nice
moritz bacek: which approach did you take? infobot or basicbot?
bacek seen moritz
clunker3 moritz was last seen on #parrot 4 seconds ago, saying: bacek: which approach did you take? infobot or basicbot?
bacek BasicBot
::Pluggable 11:42
stupidbot, perl is rulez 11:44
stupidbot bacek: okay.
bacek perl?
stupidbot, perl?
stupidbot bacek: perl is rulez
bacek Modules: Auth, Karma, Join, Infobot
RT #44211 11:46
stupidbot Error calling said() for rt: URL must be absolute
bacek stupidbot...
RT #44211 11:47
stupidbot Error calling said() for rt: URL must be absolute
bacek RT #44211 11:49
stupidbot Error calling said() for rt: URL must be absolute
bacek RT #44211 11:50
stupidbot Error calling said() for rt: URL must be absolute
bacek rt.perl.org/rt3/Ticket/Display.html?id=49085 11:55
stupidbot [ #49085: [PATCH] perl6 add pick method to List ]
bacek nice.
tetragon I can certainly understand stupidbot's name after seeing this 11:56
bacek tetragon, I can unload RT module this module. 11:57
But bot is actually stupid.
12:05 kj joined
Tene So, the docs say that the 'throw' opcode should pass its current continuation to use for resuming, but when I look in throw-exception in exceptions.c, I can't see any evidence that it does anything with the continuation argument passed to it. 12:06
Anyone awake can show me how to resume from an exception? 12:07
12:09 Zaba joined
bacek Tene, returncc with continuation from exception? 12:09
Tene bacek: any idea how I can get one from the exception without manually making one? 12:10
and stuffing it in the xception before throwing? 12:11
I tried invoking it, but that behaved badly. I'll try returncc in 30 minutes.
Tene applies clothes and goes to work. 12:12
bacek Tene, you probably should use throwcc
Tene bacek: it's in DEPRECATED.pod, and several docs say that the one-argument version of throwcc is identical to throw, and src/ops/core.ops confirms that. 12:14
bacek Tene, than just call returncc. Everything should 'just works' 12:15
IIRC
bacek wanders how to get REST access to rt.perl.org... 12:27
RTFM rule... 12:29
rt#56004
stupidbot RT 56004d: [TODO] implement .method (with $_ as implicit invocant) - new
Tene Nope, doesn't work. 12:37
that returns from the sub that the exception handler is in. 12:38
masak the bug in `sub say { }; say "is this printed?"`, has it been reported? 12:41
Tene masak: what is it?
perl6: sub say { }; say "is this printed?"
polyglotbot RESULT[Null PMC access in find_method()␤current instr.: '_block11' pc 38 (EVAL_12:18)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:469)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1088 (src/PCT/HLLCompiler.pir:598)␤called from Sub
..'parrot;PCT::HLLCompiler;command_line' pc 1267 (src/PCT/HLLCompiler.pir...
masak it's that, yes. 12:42
I _suppose_ that's an error. 12:43
I mean, that this result is unintended.
just wondering if it's been reported as a bug yet
actually, what should perl 6 do if someone tries to override &say et al.? 12:44
avar use the overriden version, the spec supports it 12:45
builtins are just like normal subs
diakopter masak: here's one for you
perl6: sub say2 { sub say1 { 3.say2; }; say1(4); }; 5.say;
polyglotbot OUTPUT[5␤]
avar there is no builtin in perl6, just a list of stuff that's loaded at startup
DietCoke sounds like tcl. =-) 12:46
moritz there are no builtins in tcl, just strings ;) 12:47
Tene DietCoke: can you tell me what the SHIM() marker in ops files means?
DietCoke moritz: that's only a half-truth. 12:48
avar DietCoke: or CL or Haskell
DietCoke Tene: not off the top of my head.
ISTR that's one of Andy Lester's inventions.
Tene Okay.
Yeah, ARGIN, ARGOUT, NOTNULL, I just don't know about SHIM specifically.
kj SHIM is about an argument that is not used I think 12:49
Tene That's what I thought.
kj ehm, paramter I should say
Tene Well, what I feared.
So, is allison still reworking exceptions, or is that done and merged?
kj but I think if you check out the headerizer script (perldoc) there's some documentation on that
DietCoke Tene: it's the pdd25cx branch; it's still unmerged, sfaik. 12:52
12:52 Whiteknight joined
masak diakopter: not sure I got the point of that line of code 12:52
Tene Lemme check to see if this works properly in that branch. 12:53
diakopter masak: sorry; see #perl6 - I was playin around
masak diakopter: ah, ok 12:55
dalek r28674 | Whiteknight++ | gsoc_pdd09:
: [gsoc_pdd09] update to trunk r28673
diff: www.parrotvm.org/svn/parrot/revision?rev=28674
diakopter rakudo doesn't detect indirect infinite recursion (depth)
Tene Looks like this is implemented a lot better in pdd25cx... let's see if it runs like I think it should... 12:57
Ack, timeforclass.
diakopter nm; rakudo *does* detect indirect infinite recursion 12:58
it's pugs that doesn't
masak . o O(halting problem...) 13:07
moritz masak: it's actually possible in 99% of all real-world (non-perl) code to decide if it halts 13:09
masak moritz: yes
13:11 Zaba_ joined
moritz it's typical for mathematics to encounter problems as soon as a construct is powerful enough to reference to itself 13:11
masak moritz: the authors of 'Winning Ways' make a similar point about NP-complete subproblems in games 13:12
they argue that they have shown interesting solutions to subproblems of problems known to be in NP
moritz Turing's proof ussed an automaton which counts other automatons. Likewise you can easily get into troubles when you have sets that can consist of arbitrary sets as items
masak: sounds interesting ;)
masak moritz: yes. the Java Collections framework actually has a small note about avoiding Collections containing themselves 13:13
but that falls out of a wider faux pas, namely having Collections of mutable objects
13:14 gryphon joined
masak moritz: it's a good pair of books. you should take a look 13:14
they basically redefine the real numbers to better suit analysis of two player games
ending up with the "surreal numbers"
moritz ;)
masak ...of Donald Knuth fame 13:15
perhaps the only fictional book Knuth wrote, I don't know
www-cs-staff.stanford.edu/~uno/sn.html
stupidbot [ Knuth: Surreal Numbers ]
masak but I'm OT-ing. I'll stop now :) 13:16
13:17 Zaba joined
moritz we need #perl6-ot or #parrot-ot 13:18
;-)
masak #perl6 has often filled that purpose 13:19
at least in the pugs glory days
smart people who got together and threw smart ideas at each other 13:20
moritz now it's only us ;) 13:21
masak *lol*
13:22 Zaba_ joined 13:37 rdice joined
DietCoke hey, richard. 13:38
13:40 tewk joined
Tene No, returncc doesn't work in that situation, but it looks like parrot *does* pass the continuation off to the error handler in the pdd25cx branch. 13:43
I just need to figure out how to get it.
VTABLE_invoke(interp, handler, dest); 13:44
tewk nqp seems to install an implicit excpetion handler in each parser action. Is there any way I can explicitly install an exception hander as a debugging aid to see whats going wrong. 13:48
dalek r28675 | fperrad++ | libs4php: 13:53
: [php] some string
diff: www.parrotvm.org/svn/parrot/revision?rev=28675
stupidbot [ revision: /parrot (Rev: 28675, via SVN::Web) ]
moritz bacek: could you teach stupidbot not to act on URLs printed by dalek? 13:54
14:03 stupidbot joined, GeJ joined
bacek moritz, done 14:03
moritz bacek++
14:05 GeJ joined
pmichaud tewk: the exception handler that nqp installs is just to handle return exceptions. 14:06
bacek karma moritz 14:14
stupidbot moritz has karma of 1
bacek karma bacek 14:15
stupidbot bacek has karma of 1
bacek heh. We now have equal karma :)
moritz that's so cheating ;)
bacek it is not Olympic Games :)
DietCoke what happened to purl? 14:16
opbots, trust me
clunker3 But I do not trust you DietCoke
slavorg But I don't trust you there, DietCoke
Coke opbots, names
bacek DietCoke, purl is drinking with Bender... 14:17
moritz !leave #parrot 14:28
stupidbot: !leave #parrot
stupidbot moritz: Admin commands in privmsg only, please
14:28 Zaba joined 14:30 stupidbot left 14:31 stupidbot joined 14:35 jhorwitz joined, davidfetter joined
bacek pmichaud, rt#55438 is waiting :) 14:38
stupidbot RT 55438d: [PATCH] Patched Test.pm and test for Test.pm - open
bacek test3.diff especially 14:40
afk # sleep
have a good night everyone
Tene g'night 14:41
If I can manage to resume after an exception, I should have a workable gather/take. 14:42
moritz Tene: in rakudo? 14:43
14:43 Zaba_ joined
Tene Yeah. 14:43
pmichaud I'm not sure if the current Parrot supports resumable exceptions.
I know that the pdd25cx branch is supposed to do that. 14:44
DietCoke does "resumable" mean something special in this case?
pmichaud it means that I can have execution continue from the point where the exception was thrown.
Tene I tried manually stuffing a continuation into the exception, but that behaved poorly.
eh, maybe I could get that to work. 14:45
Or I could just wait for pdd25cx
pmichaud I've been kinda waiting for pdd25cx to think about it too heavily. :-)
we could ask for a pdd25cx eta at today's #parrotsketch 14:46
Tene That's an excellent plan.
(clever plans)++
moritz speaking of ETAs, any idea if (and if yes, when) I can get a commit bit?
DietCoke moritz: you submitted a CLA? 14:47
moritz DietCoke: yes
DietCoke Might be my fault, then.
moritz well, I don't know how long the snail mail takes over the atlantic , but it should be there now 14:48
Tene That means I need to find something different to hack on. 14:49
pmichaud both particle and I agreed to be mentors for moritz on commitbits (irclog.perlgeek.de/parrotsketch/200...#i_327702) 14:51
stupidbot [ IRC log for #parrotsketch, 2008-06-03 ]
moritz Tene: anything particular you're interested in? 14:52
NotFound moritz: according the post office I consulted here in Spain, 4-6 days.
moritz NotFound: the post office here said "usually one week, but it can be up to 3, and sometimes even 6"
ie "Deutsche Post" sucks 14:53
Tene moritz: HLLish stuff.
dalek r28676 | pmichaud++ | trunk:
: [rakudo]:
: * Update spectest-progress.csv
: * 66 files, 849 passing tests
diff: www.parrotvm.org/svn/parrot/revision?rev=28676
NotFound moritz: i think yours are more sincere than mine.
pmichaud starts preparing his parrotsketch reports.
stupidbot [ revision: /parrot (Rev: 28676, via SVN::Web) ]
DietCoke moritz: Yup, I see it in the list of contributor agreements. Did you follow the steps in docs/project/*commit* (and if so, give me your id)
moritz Tene: there's some string interpolation stuff that needs doing, for example - should be rather HLLish 14:54
DietCoke: will do now 14:55
DietCoke: my id is moritz 14:57
(how surprising)
pmichaud actually, I was a bit surprised when I couldn't get PMICHAUD as my pause id. :-) 14:59
moritz why not? taken? or too long?
pmichaud taken by the other "Patrick Michaud" :-)
which also confused the housing folks at YAPC::NA again this year, too. :-P 15:00
tewk pmichaud: No result object
moritz pmichaud: you need a second name ;)
Tene like 'tene'. 'tene' isn't taken in too many places.
pmichaud when Patrick (A) Michaud checked out on Wednesday, they accidentally checked him out of my room.
jhorwitz LOL 15:01
moritz (I actually have a second name, but never use it. They are mostly ignored in Germany, except on legal documents)
pmichaud then when I checked out on Thursday, they tried to tell me that I had overstayed by a day and owed $150
moritz nice
jhorwitz Tene: where are you?
pmichaud my middle initial is (R). Normally I use it on everything (always have) but for some reason it didn't show up in the YAPC::NA registrations. 15:02
Tene jhorwitz: maps.google.com/maps?f=q&hl=en&...iwloc=addr
stupidbot [ Google Maps ]
shorten Tene's url is at xrl.us/fm62a
stupidbot [ Google Maps ]
jhorwitz 2 miles away. :)
moritz the other day somebody with the same first and last name than me asked me if he could have my gmail address ;) 15:03
Tene MOAR UUIDZ 15:04
moritz ;)
jhorwitz Tene: what's your schedule? philly.pm is having a dinner in center city with Alias tonight if you'd like to join us, and i'll be around for lunch tomorrow. 15:06
Tene lunch won't work for me. Tonight might be good.
Where?
DietCoke pmichaud: did they eventually straighten that out? 15:09
pmichaud yes, it was pretty easy for me to make my case that I was the one in rm 324, since I had the key. :-) 15:10
also, my driver's license does show my middle initial as 'R' instead of 'A' :_) 15:11
jhorwitz Tene: sorry, got distracted. we're at nodding head in center city. it's at 7, but i'm not leaving til about 8. 15:18
if you want a ride down there, i can provide. 15:19
pmichaud "Nodding Head"? "King of Prussia"? What's up with those names in that part of the world? 15:22
not to mention "Pennsylvania". :-P
me, I'm in "Plano". "Texas". It's just north of "Dallas".
moritz thinks of the village called "Niederdodeleben" 15:23
pmichaud our capital is "Austin" -- not something like "Phil-a-del-phi-a" 15:24
jhorwitz pmichaud: nodding head is a bar 15:25
pmichaud "Gilley's" :-)
jhorwitz and philadelphia is greek. it means "beat you senseless" 15:26
pmichaud (although technically I guess that's in Houston)
jhorwitz er, i mean "city of brotherly love"
pmichaud I'm not sure where Dallas comes from, but I think it means "filthy rich" :-)
15:27 Khisanth joined
Tene jhorwitz: looks like I'll be done with work at about 4:00 15:33
jhorwitz Tene: are you staying in KOP?
Tene A co-worker is talking about places called "Llandudno", "Denbigh", and "Llanelwy" 15:34
jhorwitz: The training center and hotel are both at the same place.
jhorwitz ok
Tene jhorwitz: also, I have a car and won't need a ride.
jhorwitz ok, cool. i'll forward the details to you. msg me your e-mail? 15:35
Tene I've got a friend to visit tonight too, so I might not come. 15:37
15:38 jjore joined 15:44 Theory joined 15:46 Zaba joined
DietCoke hurm. technically my city's name is "Castleton on Hudson" which is a little more verbose, but not too bad. And patrick, you live in a state with a town named "Corpus Christi", so you're not completely off the hook. =-) 15:53
moritz: you've been added. 15:59
pmichaud: would you can to send out the email to the list?
moritz: try a small change to verify. We occasionally have issues, nice to make sure it works. 16:00
pmichaud moritz: can add yourself to CREDITS 16:03
16:07 sjansen joined
pmichaud afk: lunch, errands 16:11
I'll be back for #parrotsketch (in 139 minutes)
(Corpus Christi) Oh, yeah. I even work for a place called "Texas A&M University-Corpus Christi", which tends to be too long for various web forms to handle. Sometimes I have to abbreviate it down to "TAMU-Corpus" or something weird like that. :-P 16:13
16:17 iblechbot joined
pmichaud at least none of these are as bad as "St. John the Baptist" parish in Louisiana. :-) 16:22
really gone.
16:34 Zaba_ joined 16:43 smash joined
smash hello everyone 16:43
tewk I'm trying to figure out parse actions, are they called in post order traversal? 16:49
16:52 particle joined
mj41 hi, I adder compare feature to TapTinder ... see tt.ro.vutbr.cz/report/pr-Parrot/dif...e+selected 16:56
stupidbot [ Results diff for Parrot - TapTinder reports ]
shorten mj41's url is at xrl.us/fns8o
stupidbot [ Results diff for Parrot - TapTinder reports ]
davidfetter boa noite, smash 16:58
smash davidfetter: boa noite 17:00
davidfetter what's new & good? 17:01
tewk pmichaud: I'm trying to figure out parse actions, are they called in post order traversal? 17:03
PerlJam "post order traversal"? 17:04
tewk I'm getting "No result object" current instr.: 'parrot;C99;Grammar;Actions;cast_expression' pc 97665 (src/gen_actions.pir:198)
PerlJam They are called in parse order as the {*} are encountered :-)
tewk PerlJam: in other words coming up the tree from the leaves.
Tene Mmm... iptables lecture. :) 17:05
tewk PerlJam: en.wikipedia.org/wiki/Tree_traversal 17:06
stupidbot [ Tree traversal - Wikipedia, the free encyclopedia ]
PerlJam tewk: I know all about tree traversal, but read my second statement.
tewk Ok got it. 17:07
Tene So, if anyone's looking for work, this job is a lot of fun. 17:09
17:14 cognominal joined 17:19 barney joined
DietCoke parrotsketch in 69m 17:21
cotto_work barney, any thoughts on "Pipp"? 17:22
tewk I'm an idiot, I had #= keys on some grammar alternatives, but no {*}
pmichaud: Could pct generate a warning in a case like that? 17:25
barney Both Pipp and Pippit are fine. Pipp is a bit closer to PHP, which is nice. Pipit is a bird so it fits better with Parrot. 17:26
tewk pmichaud++ nqp is very nice. 17:27
particle wonders if "[ 'a' #= a n | 'b' #= b n ] {*}" would pass a or b to the action method when {*} is called
hi all, back from travel
DietCoke hio, particle 17:28
particle tewk: if my above example is true, than the warning case is rather complex 17:29
PerlJam particle: I think the #= foo has to come after the {*}
particle yeah, i need to search pge source 17:30
PerlJam particle: so, in that case, nothing would be passed to the action but $?
er, $/
cotto_work barney, I'll see what it'd take to get pipp.org or .com.
tewk particle: yeah, I thought the same thing.
cotto_work although there is some charm in having the project named after a bird that eats bugs
particle however, it should be a warning to have {*} in an alternation without #= 17:31
17:31 Zaba joined
particle err 17:31
tewk What does separating {*} and #= buy us.
particle i mean, in an alternation with multiple items, where at least one has #=
separating? how?
{*} is valid perl 6, and #= is a comment
PerlJam tewk: the ability to modulate the action 17:32
particle however, the nature of the magical #= comment makes it more or less *not* a comment
PerlJam tewk: If you only had {*} then the actions would need to inspect $/ each time to figure out what it was supposed to do (and that's not always an easy proposition). With #= you can do a simple string comparison and know exactly where you are in the parse. 17:34
tewk PerlJam: I understand that. #= seems like a hack because {*} doesn't have sufficient features for the common use cases. But I don't understand what {*} means in perl6. 17:36
PerlJam tewk: What features would you like it to have? 17:37
particle it's a closure with a Whatever inside
17:37 Whiteknight joined
particle meaning, "i'll define the parse action later" 17:37
tewk It appears that calling parse actions should have arguments, so why not put the arguments at the call site instead of in a comment. 17:38
PerlJam tewk: you should troll the mailing list archives for that discussion :) 17:39
DietCoke feels a little wierd knowing what some of you look like now. :P 17:40
DietCoke summons purl
Whiteknight You don't know what I look like yet, that should be comforting
DietCoke yay! 17:41
anonymous internet, the way compuserve intended.
ah, qlink, we miss you.
17:41 Ivatar joined
tewk PerlJam: I vaguely remember seeing that discussion, was it on perl6-language, perl6-compiler, or parrot. 17:41
DietCoke guesses not parrot 17:42
dalek r28677 | bernhard++ | trunk:
: [Plumhead (Pipp or Pipit)]
: Plumhead_gen.pir now in gen_grammar.pir.
diff: www.parrotvm.org/svn/parrot/revision?rev=28677
cotto_work (picking an OSS project name)-- 17:43
TimToady the closure already gets the complete match state--what more can it want? :)
cotto_work (finding a good one)++
smash eta for ps ?
45m ? 17:44
cotto_work smash, yes
smash cotto_work: ok, thank you
17:45 Zaba_ joined
dalek will@coleda.com | Field Guide to Parrot Porters: 17:46
link: www.perlfoundation.org/parrot/index...ot_porters
shorten dalek's url is at xrl.us/fn5dg
stupidbot [ Field Guide to Parrot Porters / Parrot ]
tewk TimToady: Then why have #=? Maybe we shouldn 17:47
t
TimToady tewk: the point of separating the the #= is to separate out the semantic info from the syntactic
dalek will@coleda.com | Field Guide to Parrot Porters:
link: www.perlfoundation.org/parrot/index...ot_porters
shorten dalek's url is at xrl.us/fn5dg
TimToady otherwise they obscure each other by intermixing
stupidbot [ Field Guide to Parrot Porters / Parrot ]
DietCoke wonders if dalek is smart enough to not tell us about the 4 times I did that.
pmichaud also, {*} is visually nicer.
DietCoke uh, stupid bot? you're incredibly stupid.
TimToady just like stupidbots obscure the discussion by intermixing 17:48
17:49 Zaba joined
pmichaud but if someone dislikes {*} and #=, there's always the possibility of doing something like <action('key')> 17:49
which, if you want separate actions for each rule, probably needs to be
<rulename_action('key')>
TimToady and the {*}...#= format can easily be preprocessed into <action()>
pmichaud correct.
TimToady but the point is that the {*} is independent of the use of the grammar, while the #= isn't 17:50
Whiteknight I personally like that form, it's more consistent with the rest of the P6 grammar, I think
pmichaud anyway, to answer the earlier question about "what #= applies in PGE" -- only any #= that is on the same line as the {*}
TimToady yes, the line-orientation is also to be construed as preprocessor-friendly 17:51
tewk so in particle's example, the first #= wins?
pmichaud in particle's example, the {*} doesn't have a #=
TimToady all #= assume the name of the rule on the front of the rest of the key 17:52
so a bare #= would assume a key that is the same as the rule name
and would probably be erroneous in an alt
unless your action is smart enough to figure out which alt it's in
anyway, STD should have all alts labeled with #= 17:53
if not, it's a buglet
er, not "all alts", but "all alts with {*}"
I tend to leave off the {*} on alts that are going to be part of another token, since {*} is supposed to be equiv to :: and terminate the longest token pattern 17:54
dalek will@coleda.com | Field Guide to Parrot Porters:
link: www.perlfoundation.org/parrot/index...ot_porters
stupidbot [ Field Guide to Parrot Porters / Parrot ] 17:55
shorten dalek's url is at xrl.us/fn5dg
tewk pmichaud: ahh, I overlooked the \\n in particles example.
stupidbot [ Field Guide to Parrot Porters / Parrot ]
DietCoke particle: added you to that page, since I was trivially able to find your gravatar.
TimToady one of my todos is to figure out when it's appropriate to override a subrule's {*} to incorporate one token in another
(if ever)
dalek r28678 | bernhard++ | trunk:
: [Plumhead PHC]
: Reformat some long lines in plumhead/src/phc/phc_xml_to_past_xml.xsl
diff: www.parrotvm.org/svn/parrot/revision?rev=28678
stupidbot [ revision: /parrot (Rev: 28678, via SVN::Web) ] 17:56
DietCoke who is running stupidbot?
win 7
pmichaud I think stupidbot is bacek's 17:57
DietCoke bacek: I have a ton of feature requests if you're going to leave him in here. =-) 17:58
pmichaud feature request: bot should not speak unless spoken to. 17:59
NotFound First law of botics. 18:00
18:02 wknight8111 joined 18:14 chromatic joined
dalek r28679 | bernhard++ | trunk: 18:16
: [Plumhead PHC]
: Add and use rule <statement_delimiter>.
diff: www.parrotvm.org/svn/parrot/revision?rev=28679
stupidbot [ revision: /parrot (Rev: 28679, via SVN::Web) ]
Tene sends decietful pictures to DietCoke. 18:17
18:18 cjfields joined
dalek r28680 | Whiteknight++ | trunk: 18:20
: [src/gc] Improve function-level documentation with imperative mood and better POD. Suggestion by chromatic++
diff: www.parrotvm.org/svn/parrot/revision?rev=28680
DietCoke there are some things I don't mind, but having the bots feeding off each other is a pita.
stupidbot [ revision: /parrot (Rev: 28680, via SVN::Web) ]
Whiteknight Agreed, inter-bot relations are disgusting and amoral 18:21
DietCoke there, that'll do for a first approximation. =-)
Whiteknight bots should stick away from their own kind
Tene Perhaps the bots should send those as notices to the channel instead of msgs. 18:23
That's the standard way to send a "NO AUTOMATED RESPONSES TO THIS" message.
pmichaud parrotsketch in 3 18:27
DietCoke PS in progress. the bird has left the cage. 18:34
18:36 Zaba_ joined
smash chromatic: what would be the first approach on completly rebuild IMCC ? 18:43
chromatic I'd start with PIRC, which already parses PIR.
PIRC right now doesn't know how to make PBC, either in memory or on disk. 18:44
smash nods
but PIRC parser is done from scratch
jonathan I think we need some generic back-end that we can feed POST to as well, so it doesn't have to be taken to text form.
chromatic Like bytecode PMCs? 18:45
jonathan Not really, just a generic code-generation interface of some kind.
There was some work in compilers/bcg on that.
chromatic *something* has to create PBC somewhere. 18:46
cjfields picturing Doug Henning: "It's magic!" 18:47
cjfields realizing that last post dates me 18:48
davidfetter heh 18:49
dalek r28681 | moritz++ | trunk: 18:51
: added myself to CREDITS as a commit bit test
diff: www.parrotvm.org/svn/parrot/revision?rev=28681
Tene Hmm. Perhaps I should add myself to CREDITS someday. 18:53
chromatic Or update mine. 18:54
smash my 'make test' hangs for branch pdd25cx/ in t/src/extend, is this normal ? 18:55
18:56 slightlyoff joined 18:58 magnachef_ joined
barney Tene: I already did 19:02
Tene oh, you used my given name
19:07 cognominal joined
dalek r28682 | tene++ | trunk: 19:10
: Update my CREDITS entry
diff: www.parrotvm.org/svn/parrot/revision?rev=28682
pmichaud chromatic: I think jonathan's idea (mine as well) is to go directly from POST to bytecode. 19:12
particle compilers/bcg++
DietCoke ... wasn't jonathan going to be working on bytecode at some point? =-)
particle pokes Infinoid
chromatic Yeah, we need to generate bytecode somehow from something.
particle perl 5 works fine without bytecode! :P
chromatic FSVO "works" and "bytecode" 19:13
pmichaud heh. Let's re-write imcc in P5. :-)
particle i wonder how many cpan modules we can use
chromatic It'd have fewer memory leaks, that's for sure.
pmichaud even better -- let's rewrite imcc in rakudo. Then we can say that rakudo is self-hosting, even though parts of it are written in PIR. :-P 19:14
particle has left #sanity 19:16
pmichaud (I'm only half-joking about rewriting imcc in rakudo, btw. :-) 19:17
19:17 slightlyoff left
avar I knew self-hosting was all a big conspiracy!:) 19:17
Whiteknight If we had a bytecode file that parsed PIR, we could use that instead of IMCC, right? 19:19
chromatic Yes.
Whiteknight use it one last time, and kiss IMCC goodbye forever
pmichaud and hope we don't lose the bytecode chain :-P 19:21
japhb pmichaud: That's what SVN history is for 19:22
tewk So is PIRC hand rolled recursive decent? 19:24
wknight8111 from what I've seen, PIRC seems to be pretty standard lex/yacc
chromatic Yes. 19:25
wknight8111 I want to take a stab at improving it, once I get this GC project out of the way 19:26
assuming I still have the time, once I get a $real_job
and once $new_wife.wants_children == true 19:27
nopaste "Coke" at 72.228.52.192 pasted "backtrace for allison" (234 lines) at nopaste.snit.ch/13383 19:28
dalek r28683 | bernhard++ | trunk: 19:29
: [Plumhead PCT]
: Use rule 'function_call' for 'php_sapi_name' and 'var_dump'.
diff: www.parrotvm.org/svn/parrot/revision?rev=28683
smash wknight8111: if i remember correctly PIRC doesn't uses lex/yacc 19:30
barney The compilers/pirc README says the flex/bison is used 19:32
tewk I think smash is write, pct/src looks like hand coded recusive decent. pct/new looks like flex/bison
wknight8111 flex/bison ~~ lex/yacc, as far as I am concerned
tewk s/write/right/
wknight8111 oh, maybe that's what I'm looking at, pirc/new 19:33
barney Why isn't there a PCT based PIR parser?
wknight8111 That would be necessary if we were seriously considering extreme bootstrapping 19:34
tewk PCT is slow, but that doesn't mean we couldn't write one.
smash C is faster
wknight8111 not for the developers :) 19:35
barney Ah there is languages/PIR .
tewk C based pir parsing is probably going to be the fastest for the near future, faster than pbc too.
nopaste "tene" at 160.79.186.34 pasted "failures in pdd25cx" (10 lines) at nopaste.snit.ch/13384 19:36
wknight8111 I'm interested in the lex/yacc PIRC implementation, once I have time to work on it
that should make everything much better
Tene allison: you said 6 failures. can you tell me which of the failures in my paste here you're not also seeing? 19:37
particle errands &
19:37 cognominal joined
DietCoke pmichaud: I think the HLLCompiler stuff is coming in via PGE, based on a -t4 19:37
barney There are probably better parser generators than lex/yacc. I could whip up an ANTLR prototype. 19:38
pmichaud hrm.
$ ack HLL compilers/pge 19:39
$ ack PCT compilers/pge
$
DietCoke I'm just looking at the -t4 output. I can nopaste it, hang on.
pmichaud after this past weekend, I really don't trust the -t4 output. 19:40
nopaste "Coke" at 193.200.132.135 pasted "pir backtrace with -t4" (2386 lines) at nopaste.snit.ch/13385
DietCoke # current instr.: 'parrot;Tcl::Glob;__onload' pc 136 (runtime/parrot/library/Tcl/Glob.pir:86) 19:42
that's where PCT comes in.
nopaste "pmichaud" at 76.183.97.54 pasted "-t4 annoyances" (31 lines) at nopaste.snit.ch/13386
pmichaud oh. Glob might use HLLCompiler. 19:43
DietCoke ayup
it registers itself as a Tcl::Glob::Compiler or somesuch. 19:44
19:46 slightlyoff joined
DietCoke Looking at the 'init' sub in HLLCompile 19:46
19:46 slightlyoff left
dalek r28684 | bernhard++ | trunk: 19:47
: [Plumhead PCT]
: Align rule and token names.
diff: www.parrotvm.org/svn/parrot/revision?rev=28684
r28685 | allison++ | pdd25cx: 19:54
: [pdd25cx] For backward compatibility, delete exception handler when it's first used.
diff: www.parrotvm.org/svn/parrot/revision?rev=28685
DietCoke allison's patch unsticks tcl, but now I'm failing a LOT of tests. 19:55
dalek r28686 | bernhard++ | trunk: 19:59
: [codingstd]
: Get rid of a hard tab.
diff: www.parrotvm.org/svn/parrot/revision?rev=28686 20:00
jhorwitz I CAN HAS MOD_LOLCODE? www.smashing.org/sandbox/cheezburger.lol 20:01
davidfetter w00t! 20:02
DietCoke I IS FULL
jhorwitz he gets full after 100 cheezburgers 20:03
Auzon jhorwitz++
barney the cat can uneat 20:04
jhorwitz you made him eat -1 cheezburgers? LOL
DietCoke heh. add a hairball pic if he drops below 0. =-) 20:05
jhorwitz: you scare me. 20:06
jhorwitz that's what i'm here for
davidfetter heh
barney Can he ead 'DELETE FROM PUPILS' cheeseburgers?
s/ead/eat/
davidfetter xkcd.com/327/
jhorwitz LOL 20:07
jonathan jhorwitz++ 20:08
apeiron www.smashing.org/sandbox/cheezburger.lol?eated=a # heh 20:10
www.smashing.org/sandbox/cheezburge...ated=eated # 50 20:11
er, 500
jhorwitz LOLCODE doesn't quite have the right features for input validation. ;-) 20:12
moritz ISTHISREALLY string regex ? ;-)
sorry, IZRLY perhaps 20:13
barney Argh, no LOLCODE user group in Munich
jhorwitz should reset the globals after every invocation
davidfetter itym YARN
DietCoke bets everyone reading allison's blog post is wondering who the hell the 5th member is. =-) 20:14
jhorwitz you mean the 4th? 20:16
pmichaud that "Shane" guy. :-) 20:17
tewk needs a nqp syntax file for vim. 20:19
moritz tewk: take the perl 6 one 20:20
svn.pugscode.org/pugs/util/perl6.vim
not perfect, but better than nothing
mj41 www.gossamer-threads.com/lists/pyth...hon/658656 20:21
Mailing List Archive: Python - Python 3000 vs Perl 6
jhorwitz my name was 5th, so i was confused. then i saw "shane". :) 20:22
dalek r28687 | chromatic++ | trunk:
: [config] Made config::auto::perldoc set the proper path to perldoc based on the
: version of Perl used to configure Parrot. The generated docs Makefile now uses
: that value, rather than relying on the user's PATH to find the right version.
diff: www.parrotvm.org/svn/parrot/revision?rev=28687
tewk moritz++ 20:26
apeiron notes the several jibes at perl and parrot on that page, sighs 20:28
chromatic Oh, how easy for the Pythonistas to forget how long Guido has been talking about Python 3000.... 20:30
cognominal the big point for the programmer in the long term is how flexible is the lanuguage so as to incorporate now unthouht abstractions. 20:34
NotFound Will be funny if someone write python 3000 on parrot before any other implementation X-)
cognominal python and ruby for me are mostly perl 5 without wart and a better object model. 20:35
NotFound It's amusing that people wants to make speed comparaisons between two still non existent language implementations. 20:37
apeiron Well of course, speed is everything! </sarcasm>
Auzon Odd, I thought Python's site said that they preferred clarity of the interpreter's code rather than having the interpreter be faster 20:38
NotFound Even better is the point: I don't care about speed, provided that will be fast.
DietCoke *blink* 20:39
cognominal well, the question will be about speed on multicores. in 15 years, people will not speak of MHz but of kilocores. 20:40
I can't imagine what hell that will be 20:41
cotto_work a good reason to work on concurrent GC, if nothing else
NotFound Following some recent trends, maybe the better way will be to develop some way to ray-tracing bytecode execution. 20:42
chromatic Ray tracing? 20:43
bounce photons off of each opcode?
NotFound Something like that, yes.
cognominal or ADN : slow but if you get enough strands... 20:44
NotFound Stop using pesky electrons to run code, photons are lighter.
wknight8111 is there a language spec yet for Python 3000? 20:45
we should seriously court the python people, try to get them using Parrot for their future needs 20:46
chromatic Oh yeah, NotFound, how's your Valgrind fu? 20:47
DietCoke chromatic: no tracing my wife. 20:48
NotFound chromatic: I know very little about valgrind, a few time I try to use it don't get other thing that fake positives. 20:49
DietCoke wknight8111: there is a history with the python people that might make it easier to have 1.0 under our belt before continuing that. 20:52
chromatic NotFound, there are a couple of memory leaks in places like IMCC that I think you might be able to track down. 20:53
$ alias vgp
alias vgp='valgrind --suppressions=/home/chromatic/dev/parrot/tools/dev/parrot.supp --num-callers=500 --leak-check=full --leak-resolution=high --show-reachable=yes parrot --leak-test'
wknight8111 DietCoke, you tell the python people that wknight8111 said so. They'll listen to me 20:57
actually, they probably never heard of me :( 20:58
DietCoke I think we oversold initially.
20:58 purl joined
DietCoke and by we I don't mean me. =-) 20:58
purl: you shiny bot!
purl DietCoke: sorry...
chromatic See "A Comprehensive History of TPF Press Releases, Volumes I-IV: 2001-2003"
wknight8111 You mean parrot doesn't end war, cure the common cold, and lower the price of gas?
wknight8111 has become disillusioned 20:59
DietCoke it does seem to encourage me to produce more gas.
ask chromatic.
DietCoke drinks a diet peach snapple
DietCoke is kind of creeped out that chromatic is here.
NotFound chromatic: first thing I see is that there are a lot of malloc calls in the compilers/imcc directory. It's not supposed to use parrot allocation functions? 21:00
chromatic Switching those over to mem_sys_* would be better.
(eventually we can use sized header pools to manage them)
(now someone revive wknight8111, please) 21:01
wknight8111 oh, i'm revived
and I'm slowly adding items on my TODO list
NotFound There is also a hand written malloc declaration ! =:o
Ah, it's a lex generated one. 21:04
Bison, not lex.
DietCoke gets the smelling salts. 21:06
davidfetter free() the malloc()s! 21:15
NotFound By the way, other problem I noted some days ago is the debug.h file name. 21:26
We have include/parrot/debug.h and compilers/imcc/debug.h
And I'm almost sure that the included one is not always the desired. 21:27
moritz rename them to parrot_debug.h and imcc_debug.h? 21:28
NotFound Given his usage, include/parrot/debug.h shall be pdb.h 21:29
Or if a longer name is wanted, parrot_debugger.h will be most clear. 21:30
dalek r28688 | Whiteknight++ | trunk: 21:34
: [src/gc] Improve function-level documentation for src/gc/dod.c with imperative mood and better POD. Suggestion by chromatic++
diff: www.parrotvm.org/svn/parrot/revision?rev=28688
21:41 zarchne joined
NotFound Not so easy, part of pdb functionallity is inside src/ops/debug.ops 21:56
tewk ll 21:58
22:09 Limbic_Region joined 22:18 Whiteknight joined
dalek r28689 | moritz++ | trunk: 22:36
: [rakudo] add passing test num.t to spectest_regression
diff: www.parrotvm.org/svn/parrot/revision?rev=28689 22:37
moritz =kwid
basic Boolean tests
=cut
sorry
22:40 lichtkind_ joined
dalek r28690 | chromatic++ | pdd25cx: 22:45
: [t] Fixed failing Sub PMC tests -- they relied on a wild, stab-in-the-dark
: exception message thrown from the deprecated and removed real_exception(). Now
: they check for a clearer exception message.
diff: www.parrotvm.org/svn/parrot/revision?rev=28690
chromatic That's two failing tests either explained away or fixed.
Limbic_Region chromatic - did you happen to catch my YAPC recap? 22:46
Tene Limbic_Region: add it to here: www.perlfoundation.org/perl5/index....pc_na_2008
Limbic_Region if not, see www.gatcomb.org/joshua/2008/06/yapc...day-3.html
shorten Limbic_Region's url is at xrl.us/frs39
Limbic_Region specifically, a comment I wanted to make on your talk that I didn't get to make in the hallway 22:47
chromatic I saw that, thank you. 22:51
I figured that if people wanted to rescue a project, they hadn't yet decided to jump.
Limbic_Region I agree
but on the other hand
some people don't know when is the right time 22:52
and it hurts them
chromatic I could add a disclaimer to my notes. "Sometimes you have to leave." 22:53
Limbic_Region I have a friend - a former co-worker that just can't see that she needs to get out - but then again, she isn't listening to me so having it on some slides probably won't help either
chromatic I pound the podium better than you do though. 22:54
Limbic_Region heh
23:03 tetragon joined
pmichaud I've jumped ship on a couple of projects. Best move I could've made -- especially when the projects failed and the sponsors pleaded with me to come back and save the projects (basically: "Name your terms--what would it take for you to come back to work on this project?") 23:05
dalek r28691 | moritz++ | trunk: 23:08
: [rakudo] more tests for spectest_regression
diff: www.parrotvm.org/svn/parrot/revision?rev=28691
23:26 Zaba joined
diakopter pmichaud: congrats 23:34
23:36 japhb joined 23:37 TiMBuS joined
tewk my $a := $<something><something> stringifies the match into a, how do I get it to assign the actual match? 23:39
chromatic That's half of the pdd25cx test failures fixed. 23:40
dalek r28692 | chromatic++ | pdd25cx: 23:41
: [src] Made Parrot_ex_throw_from_c() call exception handlers defined in C; this
: fixes the crash in t/src/extend.t. 23:42
diff: www.parrotvm.org/svn/parrot/revision?rev=28692
Whiteknight chromatic++ 23:43
chromatic What's left is tricky. 23:44
Whiteknight that's why I'm leaving it to you :) 23:45
chromatic Okay, but you get the 64-bit stack scanning problem.
tewk pmichaud: ping 23:46
Whiteknight yeah, do you have the ticket #?
23:46 dolmen joined
chromatic I don't think there was a ticket. 23:47
particle may know though.
dolmen in rakudo src/classes/Array.pir, sud delete, what does mean :slurpy applied to the .param ? 23:49
s/sud/sub/
Whiteknight slurpy means the array pmc absorbs all the rest of the passed arguments to the function
dolmen so what is the type of the pmc? a list? 23:50
an iterator?
purl an iterator is in the libdb. Has to be.
chromatic ResizableArrayPMC, I believe.
dolmen libdb?
purl libdb is berkeley, not gnu (I think)
Whiteknight I assume it's an array
tewk dolmen: I believe it is a RPA, ResizablePMCArray. 23:51
dolmen where is the source of RPA? 23:52
chromatic Right, RPA
src/pmc/resizablepmcarray.pmc
tewk dolmen: RPA is parrot's generic array, you can call push, pop, shift, unshift etc on it. 23:53
dolmen So... 23:55
.param pmc indices :slurpy
$I0 = shift indices
... will call shift_integer in RPA?
chromatic Yes.
dolmen if the first element is not an integer, but an object, how can I make shift_integer work for the object? 23:57
or how can I fix the oject so that it implements what is needed
chromatic $P0 = shift indices 23:59