-Ofun: xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6
Set by apple-gunkies on 11 November 2005.
autrijus yo 00:00
wolverian evening/night 00:03
dduncan so, I was looking into the die() thing yesterday ...
is removing the Str cast an easy thing to do, or would there be complication side effects? 00:04
such as issues with various back-ends
wolverian btw, does sub foo (Str @bar) only accept Str-typed @bars, or does it coerce? 00:05
dduncan In my experience, ... 00:06
declaring the container type of an argument such as with Str doesn't do anything yet ...
or at least, I have declared arguments to only take Locale::KeyedText::Message objects, and still have to do an explicit does() test inside the function to actually catch bad args, such as if a Str is passed instead 00:07
I assume such checks by the runtime itself or compiler will come later 00:08
wolverian yeah, I was asking for the perl6 behaviour really, not pugs
dduncan aka, the system seems to act the same as if you said: sub foo (@bar)
wolverian sorry for the confusion 00:09
dduncan still, I don't have a problem with that right now
autrijus wolverian: it only accepts Str-typed @bars, but each type has a chance of coercing into Str 00:10
dduncan in the short term, I see it more important that Pugs enables correct behaviour, than that it blocks incorrect behaviour ... so if you code right, it works
autrijus there's no type system before 6.2813
dduncan so correct code still runs
autrijus I totally agree
6.2831, even
dduncan fyi, in case you didn't see my comments from 16 hours ago, I see 2 main problems left before Locale::KeyedText works correctly ... one concerns die coercing arg to Str, and I had committed a test for that ... hopefully this is easy to fix 00:12
autrijus ok. path to that test?
(sounds easy to test)
dduncan the other is that I don't yet know the correct syntax for checking if a module is loaded
it is easy to test ... 00:13
its in built-ins
control-flow
...
autrijus t/builtins/control_flow/die_arg_preservation.t
dduncan yes
autrijus ok... I need to modify the exception type in Eval monad from Str to Val 00:14
guess that's all it takes
dduncan if you backlog to 15 hours ago, I wrote some comments about where I thought the problem was
autrijus will fix. you can probe for loaded modules using
%INC{'Test.pm'}
dduncan thank you ... will try that ...
autrijus same as p5 currently 00:15
dduncan oh
?
autrijus in p5 you test $INC{'Test.pm'}
dduncan in that case, I should probably fix my Perl 5 code, which does it using a symbol table test
autrijus *nod*
dduncan the only place in my code I ever said 'no strict'
autrijus glad you can rid of that now 00:16
dduncan indeed ... I don't like having to turn strict off to do anything
maybe it is the same, but what I actually want to check is whether a package was already declared ... 00:17
eg, I want to see if myapp.pl already declared package Foo, and only if not, do I try to load Foo.pm 00:18
svnbot6 r8074 | autrijus++ | * Test::Builder::Test - fixing parameter list syntax for defaults: 00:22
r8074 | autrijus++ | (?$x = 1) is now just ($x = 1)
autrijus oh... in that case you need a if ( $::{'Foo::'} ) { ... } in p5
in p6 you can try 00:23
if ( ::Foo.isa(Package) ) { ... }
or something along that line
don't need strict either way.
dduncan will try that ... what I had been doing in perl 5 is "no strict 'refs'; return defined %{$module_name . '::'};", but your way looks better 00:24
autrijus *nod* have fun
I'll take a look at die()
dduncan thank you
fixing that will help a lot of programs
autrijus :) 00:26
autrijus goes back to Alias's talk
clkao autrijus! 00:42
autrijus hey clkao 00:44
stevan heya autrijus 01:33
autrijus hey stevan!
stevan how is .au?
autrijus excellent wonderful weather
quite productive environment 01:34
stevan very nice :)
stevan shoveled snow today
autrijus the first open source conference I attended that py and pl people are actually friendly toward each other's languages
refreshingly
stevan nice
I never disliked Python, I just like Perl better :) 01:35
autrijus: did you discuss with luqui about his new type system ideas?
autrijus stevan: I did... his idea is basically that p6 should not have a fixed static type engine
although I think we'll still need a structure to collect annotations
and share them between modules
stevan yes
yes 01:36
autrijus but the idea of the other static analysis tools being pluggable
is sound
the problem is whether this should pass compilation by default:
1 = 2.{3.[4]}
I still conjecture no
but would be yes under his scheme
stevan yeah I agree
autrijus which I'm afraid of
so maybe we still need a minimal typechecker.
stevan I think the idea is very interesting, but my concern is we will end up with another strict.pm 01:37
but it will be static.pm instead
autrijus I think because strict is on by default, a minimal (perl5ish) static should be on by default as well.
stevan yes
autrijus so I think we are in vehement agreement
stevan hell yeah :)
SamB is that anything like heated agreement?
stevan so my latest side venture has been to explore PIR and assess it's suitability as a metamodel host 01:38
autrijus oh! how goes?
(I may drop and resume within 20mins)
0% battery since Alias required my laptop running Wx and PPI::Tester for demo
stevan it goes.
autrijus PPI::Tester absolutely rocks btw. we need that for pugs
stevan makes a note to look on CPAN
autrijus AST visualizer
interactive ones too
stevan oohhhh
very nice 01:39
autrijus that doesn't bail on syntax errors
but rather point out where the error might be
and resume parsing
stevan even better
autrijus perfect for editor/refactorere/whatever
stevan Alias++
autrijus Alias++
stevan so mostly right now I am fighting against my lack of PIR knowledge 01:40
but I am getting the feel for Parrots existing object system
and I think I can get the metamodel to sit atop it fairly easily
once I can get things to compile without error that is ;) 01:41
mugwump Hey guys... are co-routines spec'ed yet? 02:01
or continuations? 02:02
autrijus mugwump: there are two proposals in end of S17 02:03
not yet canonised
continuations is even more out there.
stevan: ooh, that would absolutely rock
stevan autrijus: it will probably progress quite slowly though as $work is kind of busy lately 02:04
autrijus nod... I'll go ahead as originally planned on compiler-side MM bootstrap 02:08
now we don't need to infer anything about MMD types, it should get much easier
stevan :) 02:09
autrijus the mini inferencer in particular can go from the runcore.
meppl gute nacht
autrijus and turned into something manipulatable from perl6 side, I hope
stevan hmm, so luke's (lack of a) type system means MMD gets pushed to runtime right?
autrijus yeah... the idea is that if you turn off all staticness, types become assertions 02:10
stevan I always thought we would end up with that anyway 02:11
autrijus and we don't have type information for any "is lazy" chunks or any closures without explicit annotations
well, yes and no... sometimes runtime assertions isn't good enough
stevan keeping everything so "open unless explicitly closed"
autrijus but they are a start
yes
stevan I will just get used to writing "use static;" at the top of all my files :) 02:12
autrijus goes grab some sandwich
we'll see about that :)
stevan very true
clkao ddude, you need to eat better
stevan I mean after all ,.. this is perl 6 :)
clkao: whats wrong with sandwiches??
clkao it's just not like a real meal 02:13
and sounds too much like a british lunch
stevan in america it is,.. but then again,... that america ;)
clkao well, i think in britian as well. but.
stevan has been living on noodles a lot lately ,.. yum 02:14
autrijus well they are tasty... by conf standards anyway
still doesn't trump YAPC::Taipei but pretty decent 02:15
stevan soon at YAPC::Isreal - Turkish Coffee, Hummus and Yuval's famous flaming pizza 02:16
autrijus I look forward to more flaming pizza
stevan ok, have to run, enjoy the conf autrijus :) 02:17
stevan &
autrijus have fun :)
svnbot6 r8075 | autrijus++ | * "fail" should actually do something; put in a stub in Prim.hs 02:20
r8075 | autrijus++ | before Prelude.pm's implementation gets finished
clkao p
~>
svnbot6 r8076 | autrijus++ | * Fix postincrement_in_subscripts.t (noted by r0nny): 02:26
r8076 | autrijus++ | Evaluation of index into array/hashes should not evaluate
r8076 | autrijus++ | the index expression inadvertently.
r8076 | autrijus++ | * Change the name of evalExpType and cxtOfExp into inferExpType
r8076 | autrijus++ | and inferExpCxt and move both into Eval.Var -- they are to be
r8076 | autrijus++ | factored out from the runtime into the compile time.
mugwump I've been playing with Coro, which is coroutines for Perl 5... and it's very nice indeed 02:35
it has a great mechanism for communicating usage problems, it uses SIGSEGV 02:36
autrijus excellent 02:39
autrijus ponders "segfault the ultimate"
mugwump Yes! Higher order Perl 5!
Coro wouldn't need much to make it conform to that API in S17, most of it anyway 02:43
dduncan I could be imagining it, but Pugs.Run seems to be taking a lot longer to compile than usual 02:48
autrijus oh? hm 02:49
Khisanth dduncan: more time to fail than compile ;) 02:52
dduncan its done now 02:56
it seems that make smoke is much slower than normal too ... currently sitting on ext/FA-DFA/t/DFA.t 03:20
autrijus mm, hopefully not an infinite loop 03:21
dduncan then when I kill it with ctrl-c, it says:
^CCould not run yaml harness: No such file or directory at util/run-smoke.pl line 58.
make: *** [smoke-pugs] Error 2
anyway, I've noticed that several ext/ have been failing for awhile, and I think I can fix some ... they seem to use old argument syntax 03:22
autrijus yup, that'd be appreciated
dduncan it also occurs to me it might be useful at times to have a global just-try-to-compile-it test 03:23
sort of like my first test in Rosetta-Incubator, but for all the others too 03:24
autrijus 01-loat.t is supposed to do that
load, even
for each module
of course only a few has that defined
dduncan the point is that one could see quickly that modules meet that requirement, before trying to run all their execution tests
autrijus find ext -name '*.pm' -exec ./pugs -c {} ';' 03:25
should do that for *nix
dduncan will try ... 03:26
autrijus maybe make it a make target? (or rewrite it in find2perl)
dduncan could be a good idea 03:27
autrijus or write a t/ext/ext.t (or merge it with t/examples/example.t, or store it into t/examples) 03:28
which does a glob for all module files and runs pugs -c on each
that can conceivably go into pugsrun as well -- improvise :)
dduncan I'm running that 'find' line now ... seems to be working
autrijus dduncan: throwing out objects to $! should work now 04:09
about to commit
dduncan thank you
I'm also nearly done a compile-test utility ... basically a copy of your one-liner that looks in blib6/lib instead 04:10
autrijus cool!
dduncan I just have to add a use-lib line or something
autrijus nod
?eval try { die %*ENV }; $!.ref 04:17
04:17 evalbot_8073 is now known as evalbot_8076
evalbot_8076 ::Str 04:17
dduncan ?eval try { die Object.new(); } $!.ref; 04:19
evalbot_8076 Error: unexpected "$" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
dduncan ?eval try { die Object.new(); }; $!.ref; 04:21
evalbot_8076 ::Str
autrijus oh of course, I need to fix die() and fail() also 04:24
8077 is not enough... 8078 coming right up 04:25
svnbot6 r8077 | autrijus++ | * &die and &fail now takes objects; they get stored into $! 04:27
r8077 | autrijus++ | as objects, not strings, inside a try {} block.
autrijus curiously, in p5
eval { die $x, $y; };
stringifies and concats them
whilst
eval { die $x }
preserves the ref
I don't think we need to emulate that, do we
dduncan: r8078 is in and should Just Work (tm) 04:34
dduncan ?eval try { die Object.new(); }; $!.ref; 04:35
evalbot_8076 ::Str
dduncan soon...
svnbot6 r8078 | autrijus++ | * fix die() and fail() for real so they take objects. 04:38
dduncan brb 04:40
autrijus hacked unicode support into PPI... no idea why I'm doing this though 05:32
maybe for Perl5->PIL someday, maybe ;)
svnbot6 r8079 | autrijus++ | * throwing out single objects should impose object context. 05:51
gaal hey autrijus 06:04
doesn't fail clash with Test::fail? what's been decided on that?
dduncan it shouldn't if you say Test::fail() rather than fail() 06:05
gaal har. that's 8000 s///s
well, one s///, but 8000 applications :-(
dduncan this change is still very little work with a script and/or good multi-file s+r text editor 06:06
gaal sure. but I don't like the asymmetry: 06:07
ok(...) is(...) pass(...) Test::fail(...
dduncan maybe the functions in Test should be renamed, then
oh, oh ...
multi-methods! 06:08
if the two have different signitures, no problem
gaal indeed. but it has a legacy. So there the question came up a while ago if perhaps the it's the fail builtin should be renamed
dduncan perl 6 is already changing some legacy things ... what's one more?
the perl 5 Test modules could gain whatever the perl 6 fail() is renamed to as an alias, for cross-language consistency 06:09
gaal true, but still potentially confusing.
The multi-method workaround is terrible, IMHO 06:10
dduncan yes it is
gaal it's being used as a workaround rathert than an expression of polymorphism.
so we're back to "this town ain't big enough for the two of us", and the question is, which one gets renamed, and what name does it get. 06:11
dduncan in any event, I think that if either Test or Perl 6 had to become more ugly to not get in the way of the other, I say Test should go ... Perl 6 itself should be a priority for elegance
gaal a bikeshed question of some visibility.
dduncan question ...
do you think anyone would use the fail() built-in in the same scope as the Test one? 06:12
gaal sure!
it could happen in tests.
dduncan okay, then, overriding isn't good then
locally
gaal I think you're right about giving the language priority.
dduncan in any event, generally, single-word functions should be used mainly by the language itself, and modules should have multi-word functions ... then its easy to tell the difference and we avoid such collisions 06:13
objects are different
gaal nonono, tests are so important they really want to be exportable goodies like ok() etc.
dduncan but exported user def functions are ideally multi word 06:14
gaal dduncan: nobody would write tests if they had to say expect_this_value(...)
dduncan is it so bad for it to be, eg, test_ok(), test_is(), test_pass(), test_fail(), etc?
gaal yes :)
test_ is like Test::, only makes me think I'm coding in c 06:15
dduncan well, then a good solution is ...
gaal (which, these days, I actually sometimes am, but that only makes me grateful there's Perl in the world)
dduncan take advantage of the english language's propensity for a lot of synonyms
gaal yes.
dduncan use one synonym for the built-in, and another for the Test
so then the question is, who gets fail() 06:16
gaal stumble("oh no! this test didn't pass!")
autrijus I think Test.pm should give way. A new verb, say flunk(), should be used.
gaal flunk++ :-)
dduncan flunk++
obra heh
webmind ... :) 06:17
dduncan so who should we run this by before we go and change it?
gaal p6-l. I'm writing up the email.
dduncan I look forward to it
autrijus note that fail() is not specced anywhere. 06:19
gaal you mean p6 fail? it is mentioned in S... uh, something. :-)
autrijus the only place it's mentioned is S05
gaal 6 maybe.
autrijus implicitly
gaal 5 !? that's a surprise.
autrijus there's no mention of fail in 6. 06:20
implicit mention in A12.
stub in S29.
so it's... not exceedingly well specced
gaal I'm pretty sure I did see it in a synopsis somewhere :(
autrijus oh wait, the new S4 mentions it. 06:21
my bad
should've updated P6::Bible before speaking
gaal you flunked the grep
autrijus lol 06:22
gaal
.oO(MMD would not even have worked as a workaround in this case)
06:26
autrijus yup. you need something far more evil. 06:28
also, fail() isn't that popular in tests anyway. 06:29
in the spirit of jfdi I went ahead and replaced fail() with flunk()... r8080. 06:32
gaal ha!
autrijus dduncan++ gaal++ # vehement agreement 06:33
mm, keynote coming up tomorrow wrt Pugs.
dduncan oh, autrijus ... 06:34
autrijus dduncan: yes?
dduncan I still have to trace it but ...
while your last fix seems to have corrected the problem, something more subtle has come up, that I'm trying to trace
autrijus ?eval try { die Object.new }; $!.ref 06:35
06:35 evalbot_8076 is now known as evalbot_8080
evalbot_8080 ::Object 06:35
svnbot6 r8080 | autrijus++ | * to not conflict with keyword "fail" (now specced in S04),
r8080 | autrijus++ | Test.pm's fail() is renamed to flunk().
dduncan that part's fine
there seems to be a problem where something is copied by reference rather than by value
autrijus k... test case appreciated 06:36
(I know you're tracing it :))
dduncan after doing something else that could set $!, a variable copied from $! loses its value
I think that's what's happening
autrijus mmm 06:37
dduncan I mean, I say after the catch, $foo = $!, then $foo contains the object, but some time later, $foo becomes undef
that undeffing doesn't happen if $foo was set as $foo = Obj.new() 06:38
gaal I should really get back to pragmas...
dduncan I think its acting like someone said $foo := $!
gaal But I should also really get to the office :/ bye &
autrijus enjoy, gaal 06:39
dduncan: nod... minimal example greatly appreciated
dduncan but are method arguments supposed to be aliases for the original
?
autrijus yes, they are
they are bound using := semantic
unless you do "is copy"
dduncan maybe this is correct then
but what I actually want is for the two to be references to the same value 06:40
autrijus (problem is that "is copy" is not yet supported.)
nod... make the first one an explicit ref then
just like in p5
dduncan like if you said $bar = Obj.new(); $foo = $bar; $bar = undef;
$foo still has the object
that's how I expected arguments to behave
autrijus yes, and "is copy" is "$foo = $bar"
args in p6 behaves like $_[0] 06:41
by default
except they cannot be assigned to
dduncan so you're saying that 'is copy' is just a shallow copy, not a deep copy?
I guess so
autrijus yup, is copy is just a shallow copy -- FETCH then STORE
need .clone for deepcopies
dduncan I can't help thinking that this may be counter-intuitive 06:42
otoh, they are read-only by default, right?
autrijus yes.
I think it's sane semantics
dduncan I'll add an is-copy then 06:43
autrijus as that removes function call overhead
okay, and I'll try adding support for "is copy" for you right now :)
dduncan the reason I considered this counter-intuitive is that, while the argument is read-only from the invoked sub's perspective, the value can still change out from under it if the caller handed it a global or env ish variable like $! in the first place ... that's what seems counter intuitive ... 06:44
to protect against this, one would have to put a whole bunch of is-copy in their code even when they are never going to change the value 06:45
conceptually, you only use is-copy if you're going to modify the variable
the problem here sort of evokes the kinds of problems you normally just have with threads, where something can magically change on you 06:46
autrijus I think "is copy" actually should work jsut as is for you
further I think the real problem here is global vars.
they are Evil(tm).
dduncan yes
nothingmuch morning
autrijus nothingmuch: hi
dduncan I think that this problem can be fixed if $! was lexical like, where each scope has their own 06:47
nothingmuch aye!
dduncan that way, a try {} in the called sub won't change the $! of the caller sub
autrijus I think $! being an environmental lexical
instead of a global
dduncan if *that* was fixed, then the is-copy we're discussing won't be necessary
autrijus makes much more sense.
dduncan yes
autrijus in newest S02, lwall put a "Conjectural:" to that idea 06:48
dduncan but as I recall, each call scope has a separate environment of sorts
autrijus if we can argue him into removing the "Conjectural:", yay.
autrijus nudges dduncan into doing a minimal p6l post demonstrating why global $! (and $/) is a bad bad idea
dduncan meanwhile, if I end up using is-copy, or a manual $foo = $foo meanwhile, I'm putting a big comment by it saying this $! thing is bad
I think I will 06:49
autrijus nod... but turning it into a p6l post will make more sense
dduncan meanwhile, don't feel you need to do is-copy for my sake, for this issue
autrijus as I'm very happy to make perl6 to have zero "register" variables.
dduncan fyi, I think that is-copy *may* in fact already be working ... at least, I used it somewhere else
autrijus dduncan: I discovered "is copy" is already there 06:50
it's just accidentally also made it writable.
dduncan see what I said before you said that!
autrijus :D
dduncan my interpolate_vars_into_template_text used it for awhile
to get around that it barfed when I tried to do a s/// on an hash arg value
but there, is-copy made sense 06:51
will write the p6l post now ...
autrijus danke! 06:52
autrijus conjecture that the register variables are the singlemost worst idea in perl5 :) 06:54
GeJ g'dday mates 06:55
autrijus greetings GeJ
GeJ Hello Mr. A. How was the flight?
autrijus the flight was okay; I slept most of the way. then slept some 13 hours. then some 7 hours after flying to melbourne. 06:56
last-hour deployment of $job on multiple client sites can do that to a person :) 06:57
GeJ I can see that. Well, $job is done. Get some rest and enjoy the summer :) 06:58
autrijus indeed :) the weather is lovely.
and I've not received emergency cell phone calls, so I assume it worked out well
autrijus praises cc2e checklists for catching a lot of potential errors 06:59
GeJ Well, I was in the area a few weeks ago. I can trust you on the weather. Now it's all cold and snow. damn... 07:00
autrijus the first day of conference is wonderful as well... but I think it's closing in a few mins. I'll log on back after dinner
yeah... I shudder when I think about the Taipei weather I'm going to return to.
gaal++ # "dropout cuteness"... I almost lol'ed which would be in appropriate in the conference room 07:02
bbl... dinner & 07:10
gaal d'oh, on the cab I realized I made a silly syntax error; that should have been ++<< <dduncan autrijus> 07:32
dduncan hello 07:33
the email looked fine to me
gaal yeah but [++] is wrong :-)
dduncan p6l message away ... 07:47
... and returned ... autrijus and gaal and others, I welcome any feedback or support on p6l 07:57
but I'll have to read it tomorrow because I'm about to bed
r0nny moin 08:18
GeJ servus(s)? 08:19
GeJ in Germany for over a year and still doesn't know how to write this properly.
Well, it's too early anyway
r0nny lol 08:31
r0nny hands GeJ a manaual about the irc actions, and the holy book of servus
GeJ thanks 08:33
meppl guten morgen 09:08
dduncan good morning
and now I will to bed
r0nny yo 10:53
i got a problem with m:P%/foo/ - pux tessl it didnt expect the m
eh pugs
rafl Please paste something. 10:56
r0nny darn
found where i was wrong
bad typo again
btw - is there something like popen ? 10:59
rafl Well, fork and invoke a shell and you have a popen. 11:00
r0nny hmm
guess i will use `foo` 11:01
rafl But popen kind of sucks because its read-only or write-only.
Well, that doesn't do what popen does.
r0nny i need only the purput
output
rafl Yes. But if the output takes a while to be generated or includes some progress information it's not good to use `foo` because you could better read async and keep your application responsive 11:02
r0nny just calling find on a simple directory structure 11:03
rafl We have a File::Find module. 11:04
r0nny atm its not usable for my purpose 11:05
darn 11:12
why is abs2real from File::Spec unknown :/
rafl I guess because you call it the wrong way. 11:13
The current File::Spec module is cruft. 11:14
You're welcome to rewrite it in a sane way.
r0nny how to call it correct? 11:16
rafl use File::Spec; 11:30
catfile('foo', 'bar'); 11:31
No File::Spec.catfile or whatever you might expect.
You can't avoid to import all the stuff into your namespace.
r0nny i did use File::Spec, and then called abs2rel 11:34
but it doesnt want to run it 11:35
Juerd_ rafl: Sure you can. 11:52
svnbot6 r8081 | kane++ | * forgot to add jib.pm as a placeholder for version etc 12:34
r8081 | kane++ | * add a note about binary packages in the comment
r0nny re 12:49
fglock stevan: how about a "pil2-pir" backend? 12:50
with some parts written in p6, and some in pir - so that it could run itself some day 12:53
r0nny i found a problem with exports 12:57
for some reason each function is used is only exported once - so if i use it in 2 independ modules it happens, the stuff breaks everything since 1 module cant access 12:58
nemux hi all 13:40
r0nny sub fakk(Int $i){[*] 1..$i;};fakk(7) 13:51
?eval sub fakk(Int $i){[*] 1..$i;};fakk(7) 13:52
13:52 evalbot_8080 is now known as evalbot_8081
evalbot_8081 5040 13:52
robkinyon ?eval sub fakk(Int $i){[*] 1..$i;};fakk(7) 14:20
evalbot_8081 5040
r0nny try it with 700 ;P 14:32
rafl want's a new pugs release. The collection of patches against 6.2.10 that I use in the Debian package gets unmaintainable.. 15:50
15:55 bradb_ is now known as bradb
r0nny re 18:18
?eval sub fob(Int $i){[+] 1..$i;};fob(2000) 18:20
evalbot_8081 2001000
r0nny ?eval sub fob(Int $i){[+] 1..$i;};fob(3000) 18:21
evalbot_8081 4501500
Limbic_Region salutations diotalevi 19:03
did a GHC port of NetBSD become available on your architecture? 19:04
errr - did an NetBSD port of GHC ...
nothingmuch hola diotalevi^ 19:14
Limbic_Region ?eval my @list = 1...; @list[42] 19:16
evalbot_8081 pugs: out of memory (requested 1048576 bytes)
Limbic_Region oh - so that's not fixed yet huh
wolverian ?eval (1...)[42] 19:22
evalbot_8081 \43
wolverian heh.
Limbic_Region ?eval my @list = 1 .. Inf; @list[42] 19:23
evalbot_8081 pugs: out of memory (requested 1048576 bytes)
SamB boy, that isn't a whole lot of memory for a list from 1 .. Inf 19:24
r0nny yo 19:39
?eval sub lop(Int $i){[**] 1..$i;};fob(4) 19:40
evalbot_8081 Error: No such method: "&fob"
r0nny ?eval sub lop(Int $i){[**] 1..$i;};lob(4)
evalbot_8081 Error: No such method: "&lob"
r0nny ?eval sub lop(Int $i){[**] 1..$i;};lop(4)
evalbot_8081 1.0
r0nny ?eval sub lop(Int $i){[**] 1..$i;};lop(5)
evalbot_8081 1.0
r0nny ?eval sub lop(Int $i){[**] 2..$i;};lop(5)
evalbot_8081 Inf
r0nny ?eval sub lop(Int $i){[**] 2..$i;};lop(2)
evalbot_8081 2
r0nny ?eval sub lop(Int $i){[**] 2..$i;};lop(3)
evalbot_8081 8/1
r0nny ?eval sub lop(int $i){[**] 2..$i;};lop(3) 19:41
evalbot_8081 8/1
r0nny darn it
fglock does m:/<space>/ match newlines? 19:51
I'm trying to parse PIL2
19:58 _SamB_ is now known as SamB
pd anyone know if the PIR backend in pugs is a bit dated? 20:06
20:45 comet^ is now known as comet, comet is now known as comet^
fglock I'm getting this error: 'pugs: *** No such sub: "&rx_"' while using 'pugs -Cxxx', but no error in plain pugs. Maybe rules are not implemented in PIL/PIL2 yet? 20:46
autrijus fglock: weird... it all worksforme 21:56
svnbot6 r8082 | autrijus++ | * zip(@a; @b; @c) now works as specced.
autrijus did you build with precompiled prelude?
pd: yes it is
I need to update it to 0.4.0 syntax 21:57
(and maybe call it 6.2.11)
r0nny yo
autrijus hey r0nny 21:58
the [++$a] bug is fixed
obra hey autrijus
r0nny is there a need way, to join a special atribute of all elements f a list
neat
autrijus hi obra
@list.map{.attr}.join 21:59
r0nny neat! 22:01
?eval my $x=0;my $foo=1..9;$foo[++$x] 22:02
evalbot_8081 \2
r0nny ?eval my $x=0;my $foo=1..9;$foo[$x++]
evalbot_8081 \1
r0nny sweet
pd thanks, autrijus 22:04
autrijus er, I mean @list.map:{.attr}.join
pd: np... new_pad is gone from parrot 22:05
so we need to use the new padspec
pd aha, that would explain a lot of it.
autrijus I can't complain, it's me who demanded their removal months ago ;)
pd that's what you get! :) 22:06
autrijus now I gotta deal with the consequences
pd so it's all _lex etc. as per www.parrotcode.org/docs/pdd/pdd20_l..._vars.html eh? 22:09
autrijus aye
pd thanks, that's good to know. I haven't been keeping up lately. :)
autrijus thank $deity... as it's chip's design, I guess $deity := Bob
pd was just reading last night about Dan doing his post-mortem, like, a month ago or something 22:10
autrijus *nod* 22:11
leo++ chip++ # moving forward 22:13
pd let's hear it for that
leo hi autrijus - and thanks
autrijus hi leo :) 22:14
pd speak of the leo
autrijus congrats on 0.4.0 -- it's gotta take some time to catch up with the fact that new_pad is gone, but it'd be time well spent
leo autrijus: please forward my greetings to the Australians from Austria (the other .au w/o kangoroohs ;) 22:15
integral one question on pads: I see you can index them by name or by number; does parrot help with allocating numbers against variable names?
autrijus leo: will do :) 22:17
leo integral: there is no index by number 22:19
integral oh :-/
autrijus integral: it's a level of indirection via LexInfo
but the translation iirc happens at PIR compile time 22:20
so it's still a constant lookup at runtime, if I'm not mistaken -- maybe I am
leo or just use registers in the sub, where the .lex is define
integral oh :-/ I was reading docs/compiler_faq.pod the other day
autrijus that too
integral that doesn't spec out the new design that's been implemented?
autrijus it mentioned new_pad 22:21
which makes it automatically wrong and obsolete
integral that'd gone? Is there a spec somewhere else then?
*'s
autrijus pdd20 I think
# www.parrotcode.org/docs/pdd/pdd20_l..._vars.html
integral ah
autrijus I'll remove the misleading parts. 22:23
integral autrijus++ 22:24
mugwump waves at autrijus from across the ditch 22:25
autrijus yo mugwump 22:27
done 22:28
dduncan well, my p6l list post on $! got some responses 22:37
autrijus dduncan: yeah, and I agree with lwall that the "env" treatment = best
dduncan so how difficult would this be to implement ... if it is considered official? 22:38
autrijus dduncan: trivial actually 22:42
dduncan: so maybe I take it as official and give it a try today 22:43