pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
Auzon be back later. & 00:05
00:05 Auzon left
mncharity rakudo: [3,4].perl 00:07
exp_evalbot OUTPUT[Method 'perl' not found for invocant of class 'List'␤current instr.: '_block11' pc 49 (EVAL_11:20)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 785 (src/PCT/HLLCompiler.pir:458)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1067 (src/PCT/HLLCompiler.pir:587)␤called from Sub
..'parrot;PCT::HLLCompiler;command_line' pc 1246 (src...
mncharity rakudo: my @a=(3,4); @.perl 00:08
rakudo: my @a=(3,4); @a.perl
00:08 exp_evalbot joined
mncharity rakudo: my @a=(3,4); @a.perl 00:08
exp_evalbot OUTPUT[Method 'perl' not found for invocant of class 'List'␤current instr.: '_block11' pc 64 (EVAL_11:27)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 785 (src/PCT/HLLCompiler.pir:458)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1067 (src/PCT/HLLCompiler.pir:587)␤called from Sub
..'parrot;PCT::HLLCompiler;command_line' pc 1246 (src...
00:15 lisppaste3 joined 00:35 [particle] joined 00:46 syle joined 01:25 Ched joined 01:30 alanhaggai joined 01:36 eternaleye left 01:42 Auzon joined 01:43 alester joined
mncharity curious the number of people saying I shouldn't be spending time on p6. most odd. 01:45
vixey :(
mncharity yeah. :/ 01:49
pugs_svnbot r20475 | putter++ | [elf] A few .perl(), method traits, run-test result updates, some unfinished work on Analysis.
vixey mncharity: I think it's great :) 01:50
mncharity :)
have a ~no-performance hit plan for 'my $x is context; ... $^x' but needs Analysis fleshed out a bit. 01:53
higher priority is getting Hash initialization, Pairs and Lists (non-lazy) made more real/usable. 01:54
tweak regex handling, the one(?) slimey emitter trick being used. 01:56
need some format to view and debug code analysis, and more easily see the parse. html with pop-ups maybe. 01:57
good night vixey, all & 01:58
vixey night
spinclad moritz_: re proper 'waking times': uptime :) 02:04
02:04 Alias_ joined 02:06 Alias__ joined 02:07 Alias__ left, Alias__ joined
spinclad and though i say it too late, /me thinks elf is the bee's knees. it's great to see STD made 'flesh', and to have multiple implementations active and feeding each other. mncharity++ 02:10
(rakudo is, of course, the camel's pyjamas.) 02:11
Auzon Agreed. elf++. 02:13
and mncharity++ too :)
02:22 eternaleye joined 02:24 Alias_ left 02:29 lesner2 joined 02:53 Alias__ left 03:02 elmex_ joined 03:16 elmex_ is now known as elmex 03:27 Alias_ joined 03:33 Alias_ left, Alias_ joined 03:37 pbuetow_ joined 04:45 [particle]ventus joined, [particle]ventus left 04:48 syle left 04:54 lesner2 left 05:22 baest joined 05:25 schmalbe joined 05:32 schmalbe left 06:15 alanhaggai left, masak joined 06:27 rindolf joined 06:31 meppl joined 06:45 iblechbot joined 06:52 lesner2 joined 06:56 carlosf joined 07:33 lesner2 left 07:40 eternaleye left, eternaleye joined 07:41 elmex_ joined 07:51 jjore left 07:58 elmex left, elmex_ is now known as elmex 08:06 pmurias joined 08:27 Grrrr joined 09:10 rindolf left 09:14 ruoso joined 09:21 jjore joined, jjore is now known as zz_jjore, zz_jjore is now known as jjore 09:24 meppl left
pugs_svnbot r20476 | lwall++ | [STD] regex rewritten for EXPR (untested) 09:34
r20476 | lwall++ | experimenting with single dynamically scoped stop pattern for final quotes etc.
masak can I `goto` into a loop in perl 6? 09:48
S04 mentions for loops, but not loops in general 09:49
09:49 b_jonas joined
masak assuming a while loop "require[s] no special initialization of parameters", can I goto into it? 09:50
moritz_ "... it is possible to "goto" into a lexical scope, but only for lexical scopes that require no special initialization of parameters."
masak so whether I can goto into the while loop depends on whether it says `while ( something() ) {...}` or `while( my $var = something() ) {...}`? 09:51
or am I misreading the meaning of 'parameters'?
moritz_ while (my $var =..) is perl 5 09:52
masak moritz_: it's not disallowed in perl 6, is it?
moritz_ in Perl 6 you say for .. -> $var { ... }
masak I know about the pragmatics, I'm talking about which while loops you can goto into 09:53
moritz_ masak: I seem to recall that STD.pm throws an "this is perl 5 code" error
masak bit harsh, if you ask me
moritz_ ;)
masak perl usually allows different ways to code things
some people think in while loops
moritz_ they'd better stop ;) 09:54
masak but why?
what's the rationale for disallowing it, apart from it being a common pattern of perl 5?
moritz_ dunno 09:55
b_jonas I wonder why perl6 doesn't add the fourth loop control statement though
moritz_ but part of Perl 6 philosophy is that althought TIMTOWTDI we provide a strong, good default
b_jonas S4 lists only next, last, redo
moritz_ and something that checks a condition and returns one item for each check *is* an iterator, even if you don't think that way 09:56
masak moritz_: I would still make it a warning, not a compile error
moritz_ STD.pm:768 (for reference)
masak as in 'while (my $b = sth()) is nowadays written for =$sth -> $b'
moritz_ a wait, it only panics if you have something that looks like <$handle> or <handle> inside the while loop 09:57
so 'while (my $b = sth()){...}' still works
masak b_jonas: what do you consider missing? 09:58
moritz_: good :)
b_jonas masak: retry is how they call it in ruby
it's like this:
masak b_jonas: how is it different from redo?
b_jonas <retry goes here> while (a) { <redo goes here> d <next goes here> } <last goes here> 09:59
moritz_ considers writing a perlmonks meditation "parsing perl 5 and perl 6" or somethiing along these lines
b_jonas though of course it's a bit more complicated if the block is not just a simple while loop
moritz_ retry starts the loop all over again?
b_jonas yep
masak maybe just goto the loop label? 10:00
moritz_ I don't even use redo myself ;)
b_jonas you have to give a loop label for that
masak moritz_++ # write it
b_jonas: yes
b_jonas in most of the cases, I use next, redo, and last without a label
though sometimes I do use a lable
masak I think you should use a label if you use next, redo or last 10:01
just my personal opinion
b_jonas by the way, ruby loop control (and also yield and return) have the correct lexical scoping semantics like perl6 does
they need that too, because of how common iterators are in ruby
otoh ruby doesn't support loop labels
masak that's a surprise 10:02
b_jonas masak: I disagree with that
masak with the labels thing?
b_jonas no, with that you should always write goto isntead of redo/last/next
moritz_ b_jonas: btw perl 6 doesn't have a 'yield'
10:02 wknight8111 joined
masak b_jonas: I didn't mean it like that 10:02
I just said that you could emulate 'retry' with a goto LABEL 10:03
b_jonas moritz_: nor a retry. but according to S04, the goto and last/next/redo are lexical
and iirc even return is, because it doesn't act on some forms of subroutines
I think that's also how return works in smalltalk 10:04
but I'm not sure
masak: oh, sure you could
masak that, and only that, was my point
b_jonas and it's probably the least common of the four too
masak yes.
and it has more than four letters
so it doesn't really fit in
b_jonas but perl6 seems to strive for completeness in these kinds of things
meh, you could rename it 10:05
masak retr?
b_jonas ruby calls last "break"
(which is used for something else in perl5.10 now)
and I think it calls next "continue" like C
masak nobody's perfect :)
b_jonas I think it's the C instinct 10:06
masak probably 10:07
10:07 masak left
b_jonas though otoh, with iterators and useful iterator methods in the core library, you use loop control a bit less often than in perl 10:10
but it's still very useful
10:11 dalek joined
pmurias moritz_: re everything is an iterator, aren't iterators just an implementation detail in perl6? 10:19
10:19 Psyche^ joined, Psyche^ is now known as Patterner, Patterner left
pmurias as lazy lists are used as the more high level/civilised alternative 10:20
?
10:21 Psyche^ joined, Psyche^ is now known as Patterner
moritz_ pmurias: a lazy list conceptually *is* an iterator (+ more) 10:21
pmurias the same way as loops are gotos 10:27
moritz_ I disagree ;) 10:28
10:30 b_jonas left 10:32 FurnaceBoy joined
pmurias interetors aren't even properly speced (mentioned as implementation detail only in the synopsis) and should not be used 10:34
pmurias is not really responsives as he uses a windows-- box in the other room for j2me and walks out onto the terrace in order that the gps catches signal 10:37
moritz_ so in 'for =$fh -> $x { ... }', does '=$fh' return a lazy list? 10:40
if so, does it stay in memory by default? 10:41
pmurias it's an optimialisation
moritz_ so is it specced that =$fh returns a (lazy) list? 10:42
pmurias you could do while (my $x = @lazylist.shift) {...}
moritz_: we have an iterate interator operator :( ? 10:45
s/?//
so =$fh retuns a single element in item context 10:46
* returns
moritz_ but 'for' provides list context 10:50
pmurias in list context it returns a lazy list 10:51
moritz_ what does that mean for code like 'for =$fh { last if m/STOPPER/ }; say ~=$fh;'? 10:52
does that mean that the =$fh in list context consumes (lazily) all of the file content? 10:53
pmurias implementation specific
S02:3252
moritz_ please don't
pmurias what shouldn't i do? 10:54
moritz_ not you ;)
I just think it's bad practice to make such a thing implementation dependant 10:55
you can do batch processing and internal buffering without exposing that behaviour
even if it's a bit more work
pmurias maybe =$fh just eats anything 10:58
* everything 10:59
10:59 smtms joined
pmurias makes more sense 10:59
11:17 Alias_ left 11:21 braceta joined 11:24 masak joined 11:30 pbuetow_ left 11:39 penk joined 11:40 braceta_ joined, cookys joined 11:41 braceta left
Gothmog_ [ET-152]: Timing top level created for design: def_proto, analysis mode: default 11:56
.
[XI-012]: TECH_USAGE: C10HP
[XI-012]: STEP: 5/1000 MICRON
args
sry
11:59 wknight8111 left 12:27 braceta_ left 12:31 ispy_ joined 13:29 ispy_ left 13:30 eternaleye left 13:36 wknight8111 joined 13:41 b_jonas joined 13:44 rdice joined 14:00 penk left
Tene Okay, where are the actual real latest up-to-date versions of the spec kept? 14:17
kolibrie Tene: svn.perl.org/perl6/doc/trunk 14:19
lambdabot Title: Revision 14543: /doc/trunk
14:20 FurnaceBoy left
Tene kolibrie++ 14:20
14:25 TJCRI joined 14:54 Southen_ joined 14:57 b_jonas left 14:59 sscaffidi joined 15:08 masak left 15:17 jhorwitz joined 15:21 carlosf left 15:22 carlosf joined 15:25 charsbar joined 15:29 Jedai joined 15:33 chris2 joined 15:58 donaldh joined, smtms left 15:59 smtms joined 16:01 iblechbot left 16:02 FurnaceBoy joined
pugs_svnbot r20477 | pmurias++ | changed not to use paths specific to my box 16:05
pmurias ruoso: what's the rule if a identifier belongs in smop_identifiers.h? 16:09
ruoso pmurias, in theory, every identifier that will be used by any of the core types can be in that file 16:10
but in other case,
if something is going to be present for the entire execution
like some identifier present in the source file 16:11
it can be declared as a const identifier later
and it will behave just like the ones listed in smop_identifiers.h
16:16 charsbar left 16:17 iblechbot joined 16:22 charsbar joined 16:27 donaldh left 16:30 pbuetow joined 16:35 Eevee_ joined 16:37 pbuetow left 16:40 pbuetow joined 16:42 justatheory joined, Eevee_ is now known as Eevee 16:47 Psyche^ joined 16:49 sscaffidi left 16:50 sscaffidi joined, meppl joined 17:02 Patterner left, Psyche^ is now known as Patterner
pmurias ruoso: why do some objects hava a NULL responder interface instead of it pointing to them 17:02
?
ruoso well... 17:03
the responder interface object could have a pointer to itself 17:04
but the thing is that
the responder interfaces are all objects too
that are refcounted too
so, I thought it would be simpler to have it explicit in the low level
that responder interface objects can have a NULL responder interface
then call to destruction and stuff would not recurse 17:05
pmurias a NULL responder interface seems a bit hackish
17:06 iblechbot left
ruoso NULL simply means that there isn't one 17:06
which means that this object is its own responder interface 17:07
I really couldn't find another way of doing it...
a recursive pointer seems even more hackish to me ;)
pmurias why? 17:08
ruoso it's a "recursive pointer" after all
;)
even the name is hackish ;)
heh
17:08 eternaleye joined
ruoso and besides... that's the way to interrupt the infinite loop 17:09
in the destruction , mainly
because the responder interfaces might be subject to garbage collection as well
pmurias refcouting not proper garbadge collection ;) 17:10
ruoso well... smop can have another gc in the future
in fact
it can have as many GCs as pleased
all coexisting
pmurias a quick ack shows that nothing acces the responder interface via RI 17:12
[particle] karma ack
ack++
ruoso pmurias, in the moment you fetch the responder interface from the object, 17:13
it's handled as "just another object"
pmurias yes
ruoso and that object might even have a different RI
pmurias but a NULL is turned into the responder interface it represents
than
ruoso nope...
if you try to fetch the RI from an object that have NULL as RI 17:14
it will return the object itself
pmurias yes
but a NULL is equivalent to the object it is stored in
as it is only accessed via SMOP_RI 17:15
what i'm unsure if the responder iterface being it's own responder interface is a good default 17:16
ruoso I'm not sure I understand what you're saying 17:18
there's not really a default 17:19
it's just the API
if a responder interface declares itself as the responder interface
it should just work 17:20
as long as it doesn't recurse ad infinitum
pmurias it can't recurse as the responder interface is a lowlevel thing and it's fields are accessed in a non-oo way 17:22
ruoso I mean in the destruction 17:23
since the destruction code will call SMOP_RELEASE on the responder interface
I mean... 17:24
the destruction code for the default lowlevel implementatiobn
it obviously can be something different for that responder interface
and in fact...
most responder interfaces in the core lowlevel have no-ops in the SMOP_RELEASE call 17:25
pmurias there's a (SMOP__Object*)responder != obj) check in smop_lowlevel_generic_release
ruoso because they are initialized and destroyed manually by smop_init
and smop-destr
that is there for another purpose... but it solves that problem as welll :)
that's a nice thing in SMOP 17:27
everything is so in the right place that everything fits
even for things they were not planned to
pmurias everything except slime ;)
ruoso yeah... SLIME is... slimish...
but I'm not sure that there is a cleaner way of implementing a run loop 17:28
I mean
in such short numbers of loc
pmurias, but do you think you'll be able to have something spitting smop-linked C code from elf? 17:31
pmurias what's the benefit of a RI using itself as it's RI instead of a specialised RI for RI's 17:32
ruoso: yes, do you need it?
ruoso pmurias, SMOP will... as the abstraction level of the builtin types increase...
more and more it needs to be done inside the run loop
pmurias i can work on it if it's needed for something 17:33
ruoso pmurias, the benefit is not having a meta-RI
pmurias a meta-RI would be nice
ruoso but it would work just as fine if there is one
it's not something that I'd like to require
pmurias instead of having a herd of meta-RI?
s/?//
ruoso maybe... but these are all too-lowlevel to make much difference... 17:34
pmurias the pointing to itself thing is also used as hack for new to work in some places 17:35
ruoso some places in smop?
pmurias yes
Frame i think
ruoso are you sure? 17:36
pmurias yes 17:37
ruoso where?
pmurias there's lots of ugly smop_slime_frame.c which prove it beyond doubt 17:38
* ugly if's
in
ruoso hmmm... that's because of the "RI as Prototype" thing (that I'm not sure that is documented) 17:39
it's not actually pointing to itself... 17:40
it's just because the RI object is used as the Class
actually prototype
for this objects
maybe it would be better to have another object+RI for the prototype 17:42
for the constructor, actually
17:43 cjfields joined
ruoso but that's one of the things that shows why we'll need a compiler to generate that code as soon as possible 17:43
because we can't get rid of that increasingly complex set of environment conditions 17:44
except by having a higher-level language
but actually... the more I think, the more I realise that the Perl 6 code in SMOP will always be compiled to native code...
to native code that initialize the optree.. 17:45
but native code...
it can, of course, parse the code directly...
pmurias actually plans/hopes that a jit will be used instead of an optree
ruoso: you mean a lowlevel perl6 subset 17:46
ruoso hopes somebody that knows how to write a jit comes along ;)
pmurias, yeah... a lowlevel perl6 subset will be needed as soon as I finish writing p6opaque
to write the builtin types 17:47
things like Hash
for instance
writing the C code for that by hand will be extremely painfull
because it will have to be integrated to the smop run loop
because it needs to call eqv on unknown objects 17:48
that might even be implemented in perl5
(not eqv actually... but ===... but it doesn't make any difference...)
so Perl 6 for SMOP *really* needs to be implemented in Perl 6 17:49
it's not just something fancy...
it's mandatory
pmurias or in a other high-level language of choice 17:50
pugs_svnbot r20478 | pmurias++ | [smop] removed double nulls at string ends
ruoso sure..
it's just natural that language to be Perl 6
but I really wouldn't bother having it written in any other language... 17:51
(except if I'm the one writing it ;)
(then it needs to be Perl 6 ;)
pmurias what i like very much about the oo all down design, is that it should be possible to play with vm internals in high-level language, or even replace parts with a performance loss 17:52
ruoso or with a performance gain 17:53
which is actually the plan about the run loop
and the GC
and about everything else, except the lowlevel API
:)
and the code written in Perl 6
;) 17:54
pmurias those parts have to be in a lowlevel language 17:55
ruoso sure... but I'd like to have the Perl 6 builtin types written in Perl 6 (not the native types) 17:56
so... when you look closer...
you'll see that smop really really is just smop.h 17:57
smop_base.h, actually
17:57 cjfields_ joined
pmurias ruoso: should i write a meta-RI a banish the NULL trick and see if nothing bad happens? 17:57
s/a/and/ 17:58
ruoso you could... I don't see much benefit... but if you do... I'm all for it
ruoso going home... I should be back later today... 17:59
pmurias have a safe trip ;)
ruoso :)
17:59 ruoso left, TJCRI left 18:04 alester left 18:06 pmichaud joined 18:13 cjfields left 18:15 b_jonas joined 18:23 renormalist joined 18:25 cognominal_ joined 18:26 dalek left, pmichaud left 18:27 dalek joined, pugs_svnbot joined 18:30 TJCRI joined 18:31 pmichaud joined 18:33 Juerd joined 18:35 wolverian joined 18:47 Ched left, Ched- joined, TJCRI left 18:48 TJCRI joined 18:55 rdice left
pmichaud are the parameters to .new() allowed to initialize private attributes? or just public ones? 18:59
TimToady you are allowed to pass any random named arguments to any method, and the method is allowed to ignore any it doesn't feel like dealing with 19:07
that's why methods have a %_ by default
so it depends on whether the BUILD pays attention to them
as to the answer to that, I dunno... :)
seems like the default BUILD probably shouldn't presume to know about private attributes 19:08
19:08 armagad joined
TimToady but in general there is no requirement that the arguments to BUILD must be attr names 19:09
pmichaud I guess I'm asking about the default 19:12
i.e., does the default BUILD use the named parameters of .new() to initialize private attributes? 19:13
or, more to the point, how does the default BUILD initialize private attributes?
TimToady and can it even know how in general?
pmichaud sorry
I meant to ask without "private" 19:14
or, more to the point, how does the default BUILD initialize attributes?
TimToady probably asks the .HOW of the object to do it
pmichaud so, given .new( foo=> 1) 19:15
on a class that has $.foo;
does BUILD effectuate a bind of $.foo, or does it try to do initialization using the $.foo accessor, or ... ?
TimToady I suppose it must know about $!foo as well in order to do it right
when an object is building its part of the current object, it should probably only be concerned with its own $!foo 19:16
Eevee what if both exist? (or is $.foo just an auto-generated method that touches $!foo?)
19:16 armagad left
TimToady so either BUILD has to know the object repr, or has to ask the .HOW how to tell the object to init $!foo 19:17
$!foo is the physical storage. $.foo is just the accessor, which does not require $!foo to be implemented by this class, as long as some base class does it. 19:18
pmichaud okay, that fits with the mental model I've been using lately 19:19
TimToady however, if this class does have $!foo, then $.foo should certainly know enough to find it. :)
which I think comes down the the fact that you never autogenerate the accessor unless you also have storage 19:20
pmichaud okay, so far we're in accord.
TimToady other access to $.foo happens by inheritance to a "real" $.foo
pmichaud so then would we expect the BUILD method to initialize the storage, use the accessor, or "not care"?
TimToady we don't use the accessor to init 19:21
pmichaud (where "not care" means "implementation gets to decide as long as the outer semantics are preserved")
okay. So BUILD effectively initializes the storage, then?
TimToady if you try to use the accessor, you're probably stomping on some other class's BUILD's private var
BUILD is a submethod, so should only modify $!foo
pmichaud got it. 19:22
at least enough to get rakudo started in the right direction.
Juerd pmichaud: I built a hack to restart apache2 19:23
TimToady in general, if BUILD sees an accessor, it'll be to some base class's storage that has already been inited by BUILDALL
Juerd pmichaud: Uptime was approx 12 hours :(
pmichaud Juerd: okay, good. I was watching it earlier and didn't notice anything odd, so it must have occurred quickly.
TimToady: S12 also has
submethod BUILD ($tail, $legs) {
$.tail = $tail;
$!legs = $legs;
}
is that $.tail there meant to be "as if" or real? 19:24
Juerd pmichaud: It started right after the box was rebooted...
pmichaud: feather.perl6.nl/~juerd/feather1.pe...y-week.png
pmichaud: BTW, it could be that apache2 is the first process killed by the kernel, but not the cause of the problem. We'll see.
TimToady I think the intent there was that you could use $.tail to refer to $!tail
but it could also be illegal; seem to recall some restriction of submethods to ! attrs somewhere... 19:25
pmichaud yes, I remember seeing that. It's an overridable warning
S12: In fact, within submethods, use of the $.foo form on attributes that are available as $!foo (that is, that are declared directly by this class) is illegal and produces a dire compile-time warning (which may be suppressed). 19:26
TimToady yeah, just found it myself and was about to paste. :)
speckbot r14544 | larry++ | S12 contradiction noted by pmichaud++ 19:31
19:32 cjfields_ is now known as cjfields
pmichaud ooooh, speckbot! I like it. 19:33
19:37 syle joined 19:45 syle left 19:52 sepia-- joined 20:01 ruoso joined 20:11 Southen_ left 20:15 cjfields left 20:16 TJCRI left 20:18 chris2 left 20:20 iblechbot joined 20:21 mj41 joined
pmurias ruoso: how should the meta RI be called? 20:22
Auzon moritz_: ping
ruoso pmurias, meta_ri? 20:23
:)
smop_lowlevel_meta_ri 20:24
to keep the namespace sane
this is C after all
20:25 PerlJam joined
pmurias ruoso: would {{p6 code to create Nodes}} be an acceptable replacement for q:code {}? 20:26
ruoso my idea of q:code { } was to make it compatible with the "quasiquotes"
pmurias q:code is harder to implement fast 20:28
while {{}} would be a very easy hack 20:30
TimToady um, the code inside a macro is already supposed to be creating AST; why do you need {{}}
pmurias TimToady: i'm talking about C code 20:31
TimToady *nod*
pmurias smop uses a C + quasi quotes variant some parts of it 20:32
but it's abdominaly slow as the processor is writen in kp6 20:33
PerlJam "abdominaly slow"?
like how you react after a punch to the gut? 20:34
TimToady they didn't tell you what "const" is short for?
pmurias PerlJam: ;)
pmurias should spend more time with the dictionary
* abominably 20:35
PerlJam I liked your first word better for some reason :)
20:36 FurnaceBoy left 20:37 FurnaceBoy joined
pmurias so i thought the option of just embeding the output of arbitary perl6 code would be a workaround 20:38
ruoso: do you think that writing the nodes out that way would be too tedious? 20:41
ruoso by hand? 20:42
well... take a look at the generated code
if you can read it...
20:44 TJCRI joined
pmurias i mean in the Frame.new(nodes=>[Node.new(result=>...),Node.new(...)]) form 20:44
20:51 polettix joined
Auzon ruby 20:52
doh
This isn't my terminal :)
Auzon is perplexed at why elf is throwing ruby errors...
Patterner elves are evil. 20:53
pmurias Auzon: the parser is in ruby
Auzon Yes, I realize that. But elf works for me on $localhost.
pmurias Patterner: elfs are not evil. ;) 20:54
Tene So, I wonder how much more work I'll have to do on cardinal before I can run elf on ruby on top of parrot. ;)
Auzon Hm. autobox 2.52 hasn't made it to my local cpan mirror, apparently... 20:57
which includes ftp://ftp.cpan.org/pub/CPAN. I am befuddled. 20:59
pmurias ruoso: does the rakudo sm0p grammar work? 21:00
ruoso didn't tried much 21:01
it was a sketch only
pmurias, if you can write a faster parser for the Frame.new(...) syntax...
pmurias elf is a resonably fast parser 21:02
ruoso couldn't elf parse sm0p 21:03
?
pmurias thinking about it
elf's parser is in ruby
and elf dosn't do rules yet
21:04 cjfields joined 21:07 explorer joined
pmurias shouldn't be that hard really 21:08
21:08 polettix left, polettix joined 21:09 Chillance joined 21:10 dolmen joined
Auzon aha. It was just cpanplus not playing nice. 21:16
21:19 sepia-- left 21:26 b_jonas left 21:28 sscaffidi_ joined, sscaffidi left 21:29 sscaffidi_ left
kane_ auzon: ftp.cpan.org is a round robin 21:37
it picks whatever mirror is closest to you... that one was probably not sycned up yet
Auzon Nah, the problem was my local cache
I had to give cpanplus the 'x' command to purge it and refetch
Thanks anyway :)
21:40 Auzon left 21:42 pmurias left 21:47 Auzon joined
cjfields pugs: role Foo { has $.a; method set_a ($inv: $a) { $inv.a = $a } }; class Bar does Foo {}; my $b=Bar.new(a => 42); say $b.a; 21:50
exp_evalbot OUTPUT[42␤]
cjfields rakudo: role Foo { has $.a; method set_a ($inv: $a) { $inv.a = $a } }; class Bar does Foo {}; my $b=Bar.new(a => 42); say $b.a; 21:51
exp_evalbot OUTPUT[Method 'unshift' not found for invocant of class 'Undef'␤current instr.: 'parrot;Perl6;Grammar;Actions;_block2140' pc 113753 (src/gen_actions.pir:5680)␤called from Sub 'parrot;Perl6;Grammar;Actions;declare_attribute' pc 113164 (src/gen_actions.pir:5451)␤called from Sub
..'parrot;Perl6;Grammar;Actions;_block2233' pc 111837 (src/gen_actions.p...
cjfields Rakudo doesn't have role attributes
21:52 FurnaceBoy left 22:06 TJCRI left 22:12 alester joined 22:17 renormalist left 22:20 IllvilJa left 22:28 iblechbot left 22:30 coolcat50 joined
coolcat50 hello 22:30
pbuetow hello.
Auzon Hi. 22:31
coolcat50 Hmm, I have noticed that Perl 6 is going to have a built in compiler. 22:32
Is that true?
Auzon Compiler to machine code? I'm pretty sure. 22:33
coolcat50 Yeah, I personally am tired of C++ because of it's syntax.
Juerd coolcat50: Perl 5 also has a built in compiler. What target would you like to compile for?
coolcat50 I wish to compile into a Windows executable 22:34
Auzon Some implementations compile to other languages, such as Perl 5, Perl 6, Javascript, or Lisp (the latter two being defunct)
Juerd Perl 5 can't build executable files. Perl 6 is a language specification, but there will probably be an implementation that can create a windows executable.
coolcat50 Yes. That is what I need.
Auzon coolcat50: Have you tried PAR? It lets you package a Perl script into a self-contained executable. The benefit you get is the packaging, not speed, however. 22:35
Juerd coolcat50: Don't *wait* for it though. Can take some time :)
22:35 polettix left
Juerd Auzon: I believe that PAR is generally way too slow for any real life use. 22:35
coolcat50 Yeah. I have looked online, and I cannot find a feasible solution that works for Perl 5.10.
Juerd It feels like a proof of concept.
coolcat50 What I really want is to be able to convert my Perl into C code, and be able to compile it there. 22:36
Auzon Juerd: Maybe so, but I have a few computers using it for simple scheduled tasks
coolcat50 The only feasible compiler I have found is built into tinyperl.
Auzon Anyway, coolcat50, I believe at least one implementation will target that.
coolcat50 Which I have not been able to successfully put the Tk library into my tinyperl. 22:37
I currently use Strawberry Perl and will most likely switch to ActivePerl.
Juerd Personally I wonder why in Win32 it's such a common wish to build native executables. Everything on that platform comes with an installer, so why not just install Perl?
coolcat50: Interesting. Many people are switching in the other direction.
coolcat50 Most computer noobs don't know jack about perl. 22:38
Juerd coolcat50: They don't have to.
coolcat50: The installer installs Perl and some icon to run your program with Perl.
coolcat50 I have thought about that. Making an installer that installs a Perl built into a directory and run the program with a C++ executable. 22:39
Or something.
22:39 lisppaste3 left
Juerd What's the C++ executable for? 22:39
coolcat50 For them to run the program. 22:40
22:40 IllvilJa joined
coolcat50 So a command prompt window is not opened. 22:40
Juerd Perl can take a filename on the commandline. "perl C:\yourprogram.pl" would work. User doesn't have to know because you put this in a LNK (I believe they're called shortlinks? shortcuts?)
22:40 eternaleye left
Auzon shortcuts. 22:40
coolcat50 Ya. shortcuts
Juerd If I recall correctly, there's already a way to avoid this window.
coolcat50 In batch?
Auzon I know there is with the system() call, at least 22:41
Juerd PIF perhaps.
coolcat50 or through the .lnk
Juerd Maybe START.EXE
coolcat50 there is start yes
Juerd I haven't used Windows as my primary platform since 2000
I'm forgetting things.
coolcat50 I prefer Linux Mint over XP.
I had Vista.
Juerd Also I used the Dutch windows so I'm not familiar with the English terminology there.,
coolcat50 I just have XP in order to run my games and common applications for school. 22:42
Juerd In Dutch an LNK is called a "snelkoppeling" but the literal translation back to English would be "quick coupling".
coolcat50: You don't have to justify your choice of platform. 22:43
coolcat50 Yeah! lol
Just wondering? What Linux distros do the Perl devs run?
Auzon I personally run Fedora, and I believe Larry and a few others do as well. 22:44
Debian is a popular server choice, and judging from some README entries, people like Ubuntu
Juerd I run Ubuntu on my laptops, Debian on my servers.
coolcat50 Ah, I have never used Fedora. I have only tried out Ubuntu and its variants as well as Mandriva
I may try Fedora through a Live CD. I have heard good things about it 22:45
22:45 Psyche^ joined
Juerd I've used many distributions and eventually determined that I liked Debian best because of the vast repository it has. Then Ubuntu came along, based on Debian and its repository, with some innovative features that save me time. 22:45
Auzon I used Fedora 1-3 when they came out, and I must say that 8 is a LOT better. 9 has a few quirks, but I'm using it now
coolcat50 Linux Mint I believe is much better than Ubuntu. 22:46
Much better graphics, an even greater repository, built-in MP3 support and stuff like that.
Juerd I'm under the impression that Fedora is very popular with long-time Linux users, who originally used Red Hat.
Auzon I think I tried that one in a Virtual Machine. It was quite flashy.
coolcat50 Great looking theme as well.
Is Red Hat not made anymore/
?* 22:47
lambdabot Maybe you meant: . ? @ v
Auzon RHL, the free official version isn't.
coolcat50 Ah.
Auzon RHEL, the enterprise one that you pay for is still being made. We have it in labs at school.
coolcat50 My school has mainly Mac OS 9
Which I laugh at.
Auzon Really? Ugh.
Juerd RHEL is ported to CentOS, an open source fork. 22:48
I encounter CentOS more often than RHEL. Cheap bastards ;)
coolcat50 Yeah. A few computers run XP professional.
Auzon Heh. I run it on a server nearby.
coolcat50 CentOS?
Auzon CentOS, that is.
Community ENTerprise OS
Juerd coolcat50: CentOS is basically RHEL re-branded :)
coolcat50 Is it a free RHEL?
Auzon Basically, a de-branded RHEL
coolcat50 Ah lol!
I'm a noob to Linux. 22:49
Auzon It's binary compatible in all other ways
Juerd coolcat50: Everyone's a noob in the beginning.
coolcat50 I'm pretty new to programming as well. Entirely taught.
By myself.
Auzon I feel like I still have tons to learn after 5 years of using Linux and 4.5 of Perl
Juerd coolcat50: Maybe you would like the book Beginning Perl, which is a nice way to learn Perl and some good programming techniques.
coolcat50: It's free: tnx.nl/bp
lambdabot Title: Beginning Perl - perl.org
coolcat50 I've read Perl for Dummies 22:50
lol
Juerd coolcat50: Are you a dummy?
coolcat50 I'm only 14, so I just picked up a book from barnes and nobles
Juerd Those books are only for dummies, and I strongly believe that dummies should not write software.
coolcat50 One that seemed incredibly easy.
Juerd coolcat50: Age is irrelevant.
coolcat50 I know.
Auzon Juerd: The appeal of the Dummies books for me is/was the humor.
coolcat50 I am far from a dummy. 22:51
Auzon coolcat50: That's when I started with Linux and Perl. Well, 13. Seems so long ago now
Juerd (I myself started "programming" (if you can call it that) when I was approx 8, 9)
coolcat50 Lol!
Nice!
22:51 lisppaste3 joined
coolcat50 I started wishing to make a website at around 10 and started learning HTML. 22:51
Got into real computer stuff recently.
Juerd It wasn't until I was 15 before I discovered Linux and Perl.
Auzon coolcat50: Again, sounds like me ;) 22:52
coolcat50 Lol!
Juerd I had wasted my time with Quick and Visual Basic before that.
coolcat50 I have tried VB. Not very impressed.
I made a Web Browser after reading 3 pages of a tutorial.
Way to easy.
Juerd When I was 10, there wasn't much consumer internet in my country. I don't know about the rest of the world.
coolcat50 Depends. When were you 10? 22:53
Juerd I made my first HTML page when I was 12, in 1995. :)
coolcat50 Ah 1993. I'm not sure then
That's when I was born lol.
Juerd The first Dutch consumer ISP, XS4ALL, was founded in 1993. 22:54
It took a while before this internet thing got well known and popular.
Auzon Cute name, XS4ALL 22:55
Juerd The first months I thought that IRC was the Internet.
coolcat50 Lol!
Juerd I couldn't get other programs on the free diskette to work, except Trumpet Winsock and some IRC client.
coolcat50 Well, I'm gonna go eat. brb
Juerd But this IRC client did everything internet promised: I could talk to people all over the world, share files (DCC), look up information (bots) 22:56
After a while I started wondering what all the line noise was about. IRC modes, netsplits, and those ... thingies!
Auzon Very cool, to be online at that time.
Juerd Someone helped me install a browser
And I found a whole new world AGAIN.
I was 12, and doing it secretly. My parents couldn't know that I was getting them huge phone bills. 22:57
Auzon Aha.
Juerd So I couldn't talk to anyone about it except my new online friends :)
22:57 cjfields left
Juerd Thats when duality began in my life :D 22:57
Auzon duality? 22:58
Juerd Two lives.
Offline and online.
Auzon Makes sense. I'm only now moving away from it.
Juerd Only recently (some 7 years ago) they merged again :)
I started meeting the people I met online, and more of the people I knew in real life got internet access at home.
22:59 meppl left
Juerd It is no longer a geek/corporate thing to use the internet for interpersonal communication 23:00
Heck, even my grandfather (aged 84) does that now.
(in Kubuntu by the way; Windows confused the heck out of him.) 23:15
It's funny to see old people use computers :)
Auzon Yeah, it is.
Some take to them easily.
23:15 Patterner left, Psyche^ is now known as Patterner
Juerd Clicking without dragging is hard for my grandpa. 23:15
Double clicking is near impossible.
23:15 ruoso left, wolverian left, Juerd left, pugs_svnbot left, dalek left, audreyt left, wknight8111 left, exp_evalbot left, Auzon left, Grrrr left, kolibrie left, arguile left, allbery_b left, Maddingue left, Patterner left, Chillance left, Ched- left, Eevee left, buubot left, dolmen left, PerlJam left, smtms left, Jedai left, pjcj left, carlosf left, jhorwitz left, jjore left, elmex left, alester left, mj41 left, charsbar left, cookys left, LCamel left, explorer left, pbuetow left, pmichaud left, baest left, Patterner joined, alester joined, Auzon joined, dolmen joined, Chillance joined, explorer joined, PerlJam joined, mj41 joined, ruoso joined, Ched- joined, wolverian joined, Juerd joined, pmichaud joined, pugs_svnbot joined, dalek joined, pbuetow joined, Eevee joined, charsbar joined, smtms joined, Jedai joined, carlosf joined, jhorwitz joined, wknight8111 joined, cookys joined, jjore joined, Grrrr joined, elmex joined, baest joined, exp_evalbot joined, audreyt joined, Caelum joined, agentzh joined, integral joined, xdg_ joined, ofer joined, lambdabot joined, tobeya joined, ting_ joined, thepler joined, bbkr_ joined, kst joined, avar joined, ilbot2 joined, aindilis joined, bsb joined, stevan_ joined, kane_ joined, IRSeekBot joined, rafl joined, gbacon joined, nipotan joined, araujo joined, meteorjay joined, cls_bsd joined, fullermd joined, felipe joined, Tene joined, qmole joined, REPLeffect_ joined, gugod joined, ingy joined, zostay joined, diakopter joined, drbean_ joined, hcchien joined, simcop2387 joined, BinGOs joined, Lunchy joined, silug joined, r0bby joined, Khisanth joined, buu joined, zamolxes joined, yath joined, Gothmog_ joined, SamB joined, speckbot joined, rhr joined, moritz_ joined, joejaxx joined, kcwu joined, pjcj joined, allbery_b joined, arguile joined, kolibrie joined, Maddingue joined, buubot joined, LCamel joined, tcliou joined, pasteling joined, perlbot joined, nothingmuch joined, TreyHarris joined, zev joined, spinclad joined, mtve joined, SubStack joined, yves joined, mofino joined, cj joined, jrockway joined, obra joined, yahooooo joined, jiing joined, shachaf joined
Juerd So good old DOS like menu programs, where a visual menu is provided with a hotkey for each item, might be best. 23:15
Auzon Right.
Maybe arrow navigation.
Juerd That's a highly modal interface, though
23:15 vixey joined
Auzon But the web poses problems here. 23:15
Juerd And practically impossible to bolt onto web browsing.
Or any interactive document viewing really.
Note how many mobile phones have really simple menus overall but switch to a much more complex user interface when you start their web browsers.
Auzon Agreed. Maybe tablets could be a help for these people.
That still relies on motor control, but it shouldn't be as conceptually hard.
Juerd I don't know.
afk
Auzon See you.
Eevee opera has a lot of accessibility stuff built in 23:26
like directional link navigation with the arrow keys, and I think it will assign hotkeys to every link on the page.. or maybe that's konqueror
Auzon I know that Konqi assigns an access key to the first 36 links on a page. 23:27
36 URLs, that is
well,... URLs and form elements.
23:28 simcop2387 left
Eevee pretty sure it just starts at the top of the viewable area, so you can scroll down and get more 23:28
23:30 thepler left, pugs_svnbot left, Juerd left, audreyt left, wolverian left, dalek left, ruoso left, BinGOs left, Gothmog_ left, exp_evalbot left, yath left, wknight8111 left, felipe left, vixey left, kolibrie left, qmole left, Grrrr left, Auzon left, arguile left, meteorjay left, Caelum left, allbery_b left, Maddingue left, ting_ left, Eevee left, Patterner left, Chillance left, mtve left, agentzh left, Tene left, drbean_ left, Ched- left, cj left, buubot left, r0bby left, pjcj left, moritz_ left, speckbot left, REPLeffect_ left, PerlJam left, Jedai left, smtms left, SubStack left, kst left, nipotan left, gbacon left, dolmen left, obra left, integral left, mofino left, fullermd left, cls_bsd left, tobeya left, SamB left, lambdabot left, spinclad left, yves left, Lunchy left, Khisanth left, joejaxx left, stevan_ left, carlosf left, zev left, xdg_ left, jjore left, jhorwitz left, zamolxes left, silug left, jrockway left, zostay left, ingy left, IRSeekBot left, elmex left, kane_ left, ilbot2 left, alester left, yahooooo left, hcchien left, cookys left, buu left, avar left, tcliou left, pasteling left, LCamel left, gugod left, aindilis left, TreyHarris left, charsbar left, mj41 left, diakopter left, bsb left, bbkr_ left, pbuetow left, ofer left, perlbot left, nothingmuch left, explorer left, rhr left, baest left, pmichaud left, kcwu left, jiing left, rafl left, shachaf left, araujo left 23:35 Sartak joined, vixey joined, Patterner joined, alester joined, Auzon joined, Chillance joined, explorer joined, PerlJam joined, mj41 joined, ruoso joined, Ched- joined, wolverian joined, Juerd joined, pmichaud joined, pugs_svnbot joined, dalek joined, pbuetow joined, Eevee joined, charsbar joined, smtms joined, Jedai joined, carlosf joined, jhorwitz joined, wknight8111 joined, cookys joined, jjore joined, Grrrr joined, elmex joined, baest joined, exp_evalbot joined, audreyt joined, Caelum joined, agentzh joined, integral joined, xdg_ joined, ofer joined, lambdabot joined, tobeya joined, ting_ joined, thepler joined, bbkr_ joined, kst joined, avar joined, ilbot2 joined, aindilis joined, bsb joined, stevan_ joined, kane_ joined, IRSeekBot joined, rafl joined, gbacon joined, nipotan joined, araujo joined, meteorjay joined, cls_bsd joined, fullermd joined, felipe joined, Tene joined, qmole joined, REPLeffect_ joined, gugod joined, ingy joined, zostay joined, diakopter joined, drbean_ joined, hcchien joined, BinGOs joined, Lunchy joined, silug joined, r0bby joined, Khisanth joined, buu joined, zamolxes joined, pasteling joined, perlbot joined, nothingmuch joined, TreyHarris joined, zev joined, spinclad joined, mtve joined, SubStack joined, yves joined, mofino joined, cj joined, jrockway joined, obra joined, yahooooo joined, jiing joined, shachaf joined, tcliou joined, LCamel joined, buubot joined, Maddingue joined, kolibrie joined, arguile joined, allbery_b joined, pjcj joined, kcwu joined, joejaxx joined, moritz_ joined, rhr joined, speckbot joined, SamB joined, Gothmog_ joined, yath joined 23:36 TimToady joined
Eevee aha! shift-arrow 23:36
23:36 Limbic_Region joined
Auzon Konqueror's autoscroller? 23:36
Eevee opera's spatial navigation 23:37
this works pretty well too
Auzon hm. I haven't installed Opera on this installation yet. 23:38
Eevee huh. apparently firefox does it too, it's just not part of the default build: www.mozilla.org/access/keyboard/snav/
lambdabot Title: Spatial Navigation in Mozilla
23:39 Chillance left
Auzon Oh, that's cool! 23:39
23:39 IllvilJa left 23:41 vixey left
Eevee in konqueror, shift-up/down is.. autoscroll acceleration, apparently 23:41
interesting
but entirely useless
Auzon It's almost useful, but I can't read moving text that well.
23:43 vixey joined 23:44 lisppaste3 left 23:45 japhb joined