pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by diakopter on 11 July 2007.
00:04 polettix joined 00:05 theorb joined 00:13 zakame__ joined 00:14 zakame_ left 00:18 theorbtwo left 00:23 AzureStone joined 00:29 zakame__ is now known as zakame 00:30 Southen left, Southen_ joined, Southen joined 00:37 [particle] joined 00:47 Southen left, Alias_ left 00:48 Alias_ joined 01:00 nipotaway is now known as nipotan 01:11 BinGOs_ joined 01:17 devogon left 01:26 felipe joined, faxathisia left 01:30 polettix left 01:35 BinGOs left 01:45 faxathisia joined
DarkWolf84 what's that 01:46
01:57 Khisanth left 02:01 bsb joined 02:02 Limbic_Region left 02:09 Khisanth joined 02:12 jjore-m left 02:14 bsb left 02:15 cnhackTNT joined, gongyiliao left 02:46 Psyche^ joined 03:01 Patterner left, Psyche^ is now known as Patterner 03:06 jjore-m joined 03:11 Lorn joined 03:27 dlocaus left 03:32 Daveman left 04:42 Alias_ left 04:54 AzureStone left 05:08 cnhackTN1 joined 05:09 BinGOs joined 05:15 BinGOs_ left 05:20 thoughtpolice left 05:22 Aankhen`` joined 05:23 cnhackTNT left 05:37 Daveman joined 05:58 BinGOs left 05:59 BinGOs joined 06:04 BinGOs left 06:08 faxathisia left 06:16 BinGOs_ joined 06:22 kst left, kst joined 06:25 alc joined 06:27 jisom joined 06:58 c9s left 06:59 Alias_ joined, c9s joined 07:07 c9s left, c9s_ joined 07:09 c9s_ is now known as c9s 07:14 devogon joined 07:30 iblechbot joined 07:31 Alias_ left 07:33 BinGOs_ is now known as BinGOs 07:39 zakame left 08:11 penk left 08:37 franck___ joined 08:47 DarkWolf84 left 08:48 amnesiac left 08:56 cnhackTN1 is now known as cnhackTNT 08:58 iblechbot left 09:12 penk joined
pugs_svn r18959 | moritz++ | [irclog] updates to .htaccess 09:20
09:20 masak joined 09:25 penk left
pugs_svn r18960 | moritz++ | [irclog] use modern URLs everywhere 09:26
r18961 | moritz++ | [irclog] nick and spelling fixes 09:28
09:31 agentzh left 09:33 elmex joined 09:34 agentzh joined 09:48 broquain1 is now known as broquaint 10:04 cnhackTNT left 10:07 pbuetow left 10:08 pbuetow joined, drbean left 10:15 idiotmax left 10:29 tokuhiro_ joined 10:33 dalecooper joined 10:46 tokuhir__ left 10:52 alc left 10:54 Torment is now known as Jedai 11:00 ebassi joined 11:10 masak left 11:16 jisom left 11:23 Lorn left 12:01 Aankhen`` left, Aankh|Clone joined 12:02 [particle] left 12:05 [particle] joined 12:24 Lorn joined 12:49 lichtkind joined 12:52 integral joined 12:53 cmarcelo joined 13:06 kanru left 13:07 penk joined 13:09 Torment joined 13:26 Jedai left 13:34 idiotmax joined 13:51 Aankh|Clone is now known as Aankhen``
rgs question: 13:57
X.contains(any @$_)
that means that X contains every element of @$_ ? or at least one ? 13:58
moritz_ what's the semantics of method contains?
rgs X is a hash
moritz_ S29 doesn't list "contains" as a method 13:59
anyway, the test $x == any(@list) will succeed if $x is equal to at least one of @list 14:00
so if contains() doesn't accept a junction, it will be rendered to X.contains(first elem) or X.contains(second elem) or ... 14:01
rgs moritz_: I got that code straight from the S03 you pointed me to on P5P :)
moritz_ at least that's my understanding of authreading
rgs: damned ;)
rgs ok
moritz_ i think it will succeed if it contains one of @$_
gotta go... 14:02
ciao
rgs thanks
14:02 drrho joined
rgs will wait for TimToady to be extra sure 14:02
14:07 iblechbot joined 14:08 smtms joined 14:13 hanekomu joined 14:21 drrho left, gongyiliao joined 14:34 nipotan is now known as nipotaway 14:36 ether0 joined 14:38 hanekomu_ joined 14:40 TJCRI joined 14:45 jhorwitz joined, hanekomu left 14:51 penk left
rgs smart matching is commutative, right ? 14:52
14:52 Psyche^ joined 14:57 Aankhen`` left 15:04 fglock joined
pugs_svn r18962 | fglock++ | [kp6] all tests pass again 15:05
15:09 Patterner left, Psyche^ is now known as Patterner 15:10 Aankhen`` joined
pugs_svn r18963 | fglock++ | [kp6] more Array.STORE fixes 15:33
fglock kp6: my @a = [1,2,3]; say @a.perl; 15:36
exp_evalbot r18963: OUTPUT[[ [ 1, 2, 3 ] ]ā¤]
15:36 chris2 joined 15:37 gongyiliao left 15:42 dalecooper left
pugs_svn r18964 | fglock++ | [kp6] script/kp6 - more "-e" documentation 15:43
15:47 ofer left, masak joined 15:50 pmurias joined
pmurias rgs: %hash.contains(any(@elems)) is equivalent to any(@elems.map({%hash.contains})) 15:52
pugs_svn r18965 | fglock++ | [kp6] t/kp6/67-list-interpolation.t - minor fix
rgs pmurias: ok, so at least one of @elems is a key in %hash 15:53
pmurias yes
rgs pmurias: and we have @x ~~ %y iff %y ~~ @x right ?
pmurias rgs: i don't know that one 15:54
15:54 penk joined
pmurias rgs: i would guess not look at S03: 2606 15:57
pugs_svn r18966 | fglock++ | [kp6] added t/kp6/68-list-assignment.t 16:07
fglock next thing to fix is binding - after coffee & 16:08
16:11 hanekomu_ left 16:15 amnesiac joined 16:16 Psyche^ joined 16:24 kanru joined 16:28 barney joined
moritz_ since TEST is gone, where is the list of test from the pugs suite to run? 16:31
16:33 Patterner left, Psyche^ is now known as Patterner, aindilis left
fglock moritz_: script/run_tests.pl, after DATA 16:36
16:37 aindilis joined
moritz_ fglock: thanks 16:38
pugs_svn r18967 | fglock++ | [kp6] added t/todo/69-list-binding.t 16:40
16:49 elmex left 16:50 Kattana left 16:51 jjore-m left 17:04 hanekomu_ joined 17:16 jjore-m joined 17:35 dlocaus joined
dlocaus moritz_: ping? 17:35
moritz_ dlocaus: pong!
moritz_ plays ping pong regularly, but calls it "table tennis" ;) 17:36
dlocaus on the irclog.perlgeek.de/perl6/today , the "previous" day link is broken
lambdabot Title: IRC log for #perl6, 2007-11-29
moritz_ dlocaus: ah, I see, thanks
dlocaus I used to be good at table tennis. My GF tried to get me interested in "tennis", but I kept on putting a spin on the tennis ball.
apparently that's very bad sportsmanship..
moritz_ ;)
dlocaus she kept on wondering why all her "return" hits were flying everywhere. :) 17:37
pugs_svn r18968 | moritz++ | [irclog] (hopefully) fixed next/prev. day links 17:38
moritz_ dlocaus: I noticed that the effect of spin is different in table tennis and tennis...
table tennis: the angle between ball and racket changes 17:39
tennis: just the trajectory of the ball changes
dlocaus fglock: I've been scratching my head about something. KP6 uses an AST to convert the perl6 code to language "X", one of which will be parrot. KP6 can also use the AST to convert the perl6 code to perl6. But, why are we writing the backend for the perl6 language? I understand that it so that we can test out the compilation, but if that is the case, then can we just use the perl6::(insert perl5 module name here) instead of re-writi
fglock dlocaus: we need the "perl6 backend" in order to convert back AST to source code, 17:40
dlocaus moritz_: I wish I knew, all I know about physics is imperical evidence and not to try and not to play chicken with an 18 wheeler truck.
fglock for example, for implementing macros
dlocaus "back AST"?
fglock AST back to source code 17:41
and for debugging, too
moritz_ think of it as B::Deparse 17:43
fglock yes
dlocaus but if we are depending on parrot to do some of the really dirty work for us, namespacing, inheritiance, binding issues, why are we doing the backend? If we are just trying to translate the backend do we really need the runtime engine? 17:44
moritz_ one of the goals of kp6 is to stay portable 17:46
fglock hmm - kp6 is perl6-in-perl6, not perl6-in-parrot
dlocaus sorry, /if we are just tyring to translate the backend/if we are just trying to translate perl6/
fglock but yes, the kp6 side of the parrot runtime should be really simple 17:47
if parrot does the dirty work 17:48
dlocaus Isn't there a perl5 project to write a perl5 compiler in parrot? 17:49
[particle] kicks a dead ponie
dlocaus opps.
moritz_ that was ponie, and discontinued some years ago
fglock dlocaus: yes, there have been more than one
PerlJam dlocaus: feel free to revive the ponie if you want :-) 17:50
dlocaus PerlJam: sorry, I don't have enough time to try and even pull that off :). Its taken me quite a while, before I could even ask intelligent questions in KP6 :)
fglock i've got a secret plan to write a perl5 compiler using kp6 :P
hmm - i can't commit 17:51
dlocaus I hate this bootstraping compiler idea, it is so darn hard to wrap my mind around it. 17:52
fglock dlocaus: have you checked out MiniPerl6? it's much simpler
dlocaus No, a few days ago, I finally had that lightbulb go off on KP6. 17:53
fglock dlocaus: can you commit? I'm getting an error here
dlocaus Which raises another question, why did you use a "tree" model to build the $::(*) objects, and not something like "Class::Prototype"
one second, trying
17:54 TJCRI left
fglock dlocaus: because I need the algorithm to be portable (to C for example) 17:54
pugs_svn r18969 | dlo++ | [kp6] minor documentation improvment
dlocaus fglock: I commited fine.
kitty:~/perl6> svn commit -m "[kp6] minor documentation improvment" src/KindaPerl6/Runtime/Perl6/Junction.pm
Sending src/KindaPerl6/Runtime/Perl6/Junction.pm
Transmitting file data .
Committed revision 18969.
kitty:~/perl6>
fglock or dotnet :P
dlocaus why does it have to be portable to C? 17:55
fglock ruoso is working on a C implementation
dlocaus ruoso is going to write a C implementation of KP6? 17:56
fglock yes (the runtime)
dlocaus One of the reasons I like writing in perl, is that its about 1/2 the code.... ;)
fglock v6/yap6
ugh - i just can't commit 17:58
[particle] fglock: any error message/code?
fglock RA layer request failed: OPTIONS request failed on ... - it looks like a network error 17:59
ruoso dlocaus, yap6 is near of having all the features needed to support kp6 18:01
ruoso going away...
fglock I can get to feather, but I get: A checksum mismatch occurred: Base checksum mismatch on '/mirror/pugs/src/perl6/Perl-6.0.0-STD.pm'
pugs_svn r18970 | fglock++ | [kp6] array binding uses .BIND 18:05
18:06 fglock_ joined
fglock_ it was a local network problem - I'm now using a dialup line 18:07
dlocaus brb, running make forcerecompile/test; going to get something to east.
eat
moritz_ just ate a lasagne built by his room mate
fglock_ lasagne++ 18:08
18:15 ilogger2 joined
Patterner built..? hammered from the finest rock you can find? 18:15
[particle] prefers rock lobster 18:16
18:16 justatheory joined
moritz_ Patterner: "built" like software is "built" from its raw components (aka source code) 18:17
Patterner All hail the Food::Component::Pasta.
dlocaus lasagna is good, but its too fattening... all that cheese 18:31
EWWW
en.wikipedia.org/wiki/Lasagna
The word "lasagna" is derived from the Greek word "lasanon" meaning chamber pot.[3][4] The word was later borrowed by the Romans as "lasanum" to mean cooking pot. The Italians then used the word to refer to the dish in which what is now known as lasagna is made.
lambdabot Title: Lasagna - Wikipedia, the free encyclopedia
rgs you shall not believe everything that is written in wikipedia 18:32
18:32 drrho joined 18:39 TJCRI joined
dlocaus perl5 only has # and =pod to make comments right? 18:42
there isn't any other way of making a comment? /* */ for instance?
moritz_ only with source filets
*filters
dlocaus is there any unorthdox methods?
ie, the really wrong way to do it, but it works? 18:43
moritz_ patch the parser?
[particle] if(0) { commented out parse-able source }
dlocaus I want to see if there is a way that I could embed the perl6 code we compile into the perl5 code as comments, but since it is "newline" independent, I need some way of hiding it out.. 18:44
moritz_ dlocaus: in here-documents for example
[particle] =for perl6\n stuff \n=cut
dlocaus humm ok 18:45
I'll check into that.
pugs_svn r18971 | fglock++ | [kp6-perl5] t/todo/69-list-binding.t - some tests pass 18:47
18:53 IllvilJa joined
pugs_svn r18972 | fglock++ | [kp6] an infinite loop bug in Array.BIND - left commented out; t/todo/69-list-binding.t fails 2 tests 19:06
19:13 drupek12 joined 19:14 polettix joined 19:35 ilogger2 joined, Kattana joined
pugs_svn r18973 | dlo++ | [kp6] fixed documentation notation, cosmetic change 19:37
19:41 DarkWolf84 joined 19:47 hanekomu_ joined, jhorwitz joined, [particle] joined, kst joined, ft joined, f0rth joined, kcwu joined, SamB joined
pmurias dlocaus: why do you want to embed the perl6 code into the perl5 code? 19:55
pugs_svn r18974 | fglock++ | [kp6] s/Array/List/ in some places
dlocaus pmurias: Sometimes, I get confused by why something is happening, then I convert the perl6 code into the ::DISPATCH(...) mess, and read what is going on from that presepective 19:56
The problem is I end up having to clean up the perl5 ::DISPATCH into something "simpiler"
it would be good to have the perl6 code or something of that nature, to "document" what is going on. 19:57
TimToady if you just want the original for reference, s/^/#\t/mg works pretty well.
or s:g/^^/#\t/ in the new world order
19:58 TJCRI joined
dlocaus pmurias: I'm reading up on S05 (regex) now... 19:59
clkao 'win 58 20:02
dlocaus In contrast <ident> !~~ ^ 'moose' $ would allow any identifier containing "moose" as long as it is not equal to "moose". For clarity it might be good to use extra brackets: 20:03
How does that work?
20:04 jisom joined
dlocaus what about ^ 'moose' $ says "the id can contain moose, but cannot be /^moose$/? 20:04
pugs_svn r18975 | fglock++ | [kp6] more Array x List 20:05
[particle] ^ and $ anchor the pattern 20:06
...to the beginning and end of the string
dlocaus but what enforces the requirement that it must have "moose" in it? 20:07
[particle] so, ^ 'moose' $ only matches a string with the five letters: moose
dlocaus but for the rule <ident> !~~ ^ 'moose' $ 20:08
would it match "ThisIs_moose"
[particle] !~~ is the opposite of ~~
dlocaus right, so it should be that the rule <ident> !~~ ^ 'moose' $ 20:09
would match everything that does not match in perl5: /^moose$/ correct?
$ident !~ /^moose$/;
[particle] (phone) 20:10
TimToady it also requires the match of an identifier, and the !~~ is a submatch anchored to the beginning and end of that identifier 20:11
even if embedded in a longer match
dlocaus I thought white space was "for appearances" only if not specified as being required? 20:13
pmurias S05: 495
dlocaus IE, if it was present, it doesn't necessary have to match something
pmurias dlocaus: yes
dlocaus But, TimToady said that it requires the match of the identifier. 20:14
pmurias !~~ takes <ident> as the left parameter 20:15
dlocaus so
<ident> !~~ ^ 'moose' $
would be in perl5 $ident !~ /^moose$/ && $ident =~/\b?moose\b?/;
20:16 Limbic_Region joined
pmurias dlocaus: ident is a subrule 20:16
Tene dlocaus: yes, that would also match identifiers not containing "moose" at all.
TimToady more like $ident =~ /^([a-zA-Z]\w*)$/ and $1 ne 'moose'
dlocaus but the documetnation said that it must have "moose" in it 20:17
TimToady the !~~ negates that
dlocaus that was the documentation for that.
In contrast <ident> !~~ ^ 'moose' $ would allow any identifier containing "moose" as long as it is not equal to "moose".
'would allow any identifier containing 'moose' as long as it [the identifier] is not equal to moose 20:18
pmurias wouldn't it be more like /(?!moose)(??{$ident})/
TimToady except the lookahead isn't necessarily anchored the same
Tene pmurias: that would disallow "moosables"
TimToady dlocaus: yes, it allows "schmoose", "moosed", etc, just not "moose" 20:19
pmurias Tene: sorry
Tene TimToady: but wouldn't it also allow "orange", "water", "xxxxxxx", etc?
Identifiers that don't contain 'moose' at all?
TimToady certainly, it allows those too
Tene dlocaus is asserting that it claims to only allow identifiers that contain 'moose', or can be read as such. 20:20
TimToady the sentence is not intended to be exclusive
dlocaus Tene: I am not asserting that, the documentation says that. That was a quote from the documetnation
Tene dlocaus: the text is ambiguous about exclusivity. 20:21
dlocaus ah, I get it now.
TimToady the "In contrast" says it's to be read in the context of the previous
pugs_svn r18976 | fglock++ | [kp6] yet more Array x List 20:22
pmurias wouldn't it be better to just remove the <<containing "moose">> part
TimToady but it could certainly be clarified
no, because then it wouldn't say what I want it to say either
but I will fix it
dlocaus so: 'would allow any identifier containing "moose" as' 20:23
should be changed to: 'would allow any identifier (even one containing "moose") as long as it does not match /^moose$/
Limbic_Region TimToady - 1 year and 26 days until Xmas? 20:25
TimToady Perhaps Perl comes of age on her 21st birthday, and will immediately drink herself into oblivion 20:26
Limbic_Region oh wait, next year is a leap year
well, if I were a betting man I would feel comfortable betting next year's Xmas would be The Xmas 20:27
TimToady we're getting darn close to the bootstrap, if I can just get my head swelled long enough to encompass the longest token matcher. after that it doesn't matter if my head shrinks 20:29
pugs_svn r18977 | fglock++ | [kp6] t/todo/69-list-binding.t - one more test passes 20:30
dlocaus maybe an early x'mas next year?
TimToady productizing the whole thing will take a goodly long time. 20:32
dlocaus "productizing"?
PerlJam Having a usable-in-production perl6 is a good first step :) 20:33
TimToady making it slick enough that you don't have to have a Masters in Sysadmin to install.
PerlJam TimToady: Having adequate documentation to fend off "I think X should be in core" people would be good too. 20:34
dlocaus I didn't know there was a degree for System administration, I always thought good sys admin's were forged.
PerlJam dlocaus: mastery is when they call you a bofh 20:35
Limbic_Region PerlJam - better yet - "here is the spec and tests - write your own implementation with whatever you want core and it is still perl 6"
pugs_svn r18978 | fglock++ | [kp6] t/kp6/69-list-binding.t resolved
PerlJam Limbic_Region: as far as productizing goes, I think we should build the first few perl6 distributions. perl6-web, perl6-database, perl6-kitchen-sink, etc. 20:36
dlocaus for dev.pugscode.org/browser/v6/v6-Kind...Grammar.pm 20:37
TimToady maybe should name them perl6-slackware, perl6-debian, perl6-fedora, etc.
lambdabot Title: /v6/v6-KindaPerl6/src/KindaPerl6/Grammar.pm - Pugs - Trac, tinyurl.com/225wsx
Limbic_Region PerlJam I don't think anyone (aside from audreyt) will be rushing out to make their own perl 6 anytime soon
dlocaus how do I say this
Limbic_Region PerlJam: I just like the fact that anyone who wants to can 20:38
TimToady carefully
dlocaus return ::Apply(
'code' => COMPILER::get_var(
::Var(
sigil => '&',
twigil => '',
name => $$<ident>,
namespace => $$<namespace>,
) ),
'arguments' => $$<exp_parameter_list>,
'codeAsIs' => "$$<ident> $$<namespace>",
)
moritz_: the sial.org/pbot/perl6 bot is out.. some sort of proxy error... -fyi
THe "$$<ident> and $$<namespace>" arguments do not interpolate 20:39
fglock_ dlocaus: $x ~ ' ' ~ $y 20:40
MiniPerl6 doesn't interpolate
dlocaus oh.
fglock_ dlocaus: not sure if this is a godd idea - just storing from/to pointers are shorter 20:41
is shorter
good
fglock_ should read before sending 20:42
dlocaus Right now, I'm just poking around to see if I can make the code "some-what" self documenting.
I love Firefox. 1 day after distributing a patch, the whole world is updated.
makes microsoft look like ... 20:43
pugs_svn r18979 | fglock++ | [kp6] array binding cleanup
20:45 thoughtpolice joined
fglock_ kp6: my @a := ( [1,2,3],5,6); say @a.perl; 20:46
exp_evalbot r18979: OUTPUT[[ [ 1, 2, 3 ] ]ā¤]
fglock_ is this correct?
20:47 buubot joined
fglock_ kp6: my @a := ( [1,2,3],5,6); say " ",@a.perl," "; 20:48
exp_evalbot r18979: OUTPUT[ [ [ 1, 2, 3 ] ] ā¤]
dlocaus pugs: exp_parameter_list 20:50
exp_evalbot OUTPUT[*** No such subroutine: "&exp_parameter_list"ā¤ at /tmp/ghy0rvRRg9 line 1, column 1 - line 2, column 1ā¤]
dlocaus pugs: my @a := ( [1,2,3],5,6); say " ",@a.perl," ";
exp_evalbot OUTPUT[ [[1, 2, 3],] ā¤]
fglock_ cool :) 20:51
pmurias dlocaus: i think the best thing would be to make kp6 emit #line
and optionaly insert the perl6 code with an additional script 20:52
dlocaus pugs: 1/1 20:53
exp_evalbot RESULT[1/1ā¤]
dlocaus pugs: $a = 1/1; say $a;
exp_evalbot OUTPUT[*** ā¤ Unexpected " ="ā¤ expecting "::"ā¤ Variable "$a" requires predeclaration or explicit package nameā¤ at /tmp/iKjeG7D8Nz line 1, column 3ā¤]
dlocaus pugs: my $a = 1/1; say $a;
exp_evalbot OUTPUT[1ā¤]
dlocaus pugs my $a = 1/0; say $a;
pmurias: you mean just emit #(token) __FILE__ : __LINE__ line numbers? 20:54
I hadn't thought about that, right now, I'm just seeing if I can get enough of the matching string to show up so that I can put it some where. 20:55
brb
20:56 pmurias joined
dlocaus How did you guys do this on $MATCH->{'ident'}? when $MATCH claims to be 21:00
0 KindaPerl6::Perl5::Match=SCALAR(0x346d590)
-> 'say "hello!"'
in compiled/perl5-kp6-mp6/lib/KindaPerl6/Grammar.pm
pugs_svn r18980 | lwall++ | Use of Assignment type should be Item_assignment instead.
r18981 | fglock++ | [kp6] t/kp6/16-what.t resolved 21:02
dlocaus ah, an inside out class.
well, not quite 21:03
pmurias dlocaus: why would you want to emit #(token) 21:04
dlocaus oh, by token I meant something I can go back and replace later
pmurias #line actually works in perl5 21:05
dlocaus #(dlocaus_replace_me) __FILE__ : __LINE__
#line?
pmurias eval: #line 123;die 'watch this'
it works like in C 21:06
dlocaus I'm not faimilier with how this works in C
I ran that in a perl program, and nothing happened. 21:07
pmurias dlocaus: sorry replace the ; with a newline 21:08
dlocaus urhum? how did that work? 21:09
pmurias i'm not familiar with perl5 internals 21:10
TimToady you don't want to know
21:10 neuromu joined
[particle] ^--- jedi mind trick 21:10
TimToady if you even glance at toke.c in a mirror, it will drive you mad
pmurias :)
even if you are mad already?
dlocaus I thought perl comments were stripped from the dynamically generated byte code. 21:11
TimToady if anything could make you madder, it would be toke.c
pmurias got to try ;)
dlocaus is there an svn server for perl5 that I can take a peek at? 21:12
TimToady dlocaus: sure, but it's got to remember the current line number for error messages somehow
and #line is not treated like an ordinary comment
dlocaus I seam to recall that perl5 was on perforce?
I wonder what other wunderous perls are in toke.c?
TimToady rsync -avz rsync://ftp.linux.activestate.com/perl-current/ . 21:13
jjore-m dlocaus, if you look for "intuit" you'll see some neat stuff.
pmurias dlocaus: #line is documented in "Programming Perl"
TimToady let's put it this way. there are 7 or 8 different ways a lexer can "cheat". toke.c does them all.
pmurias page 590 in the polish edition (althought i doubt you have that one) 21:14
dlocaus I'm looking in the English Cammel book (US engish if there is a distinction) 21:15
TimToady each of the ways to cheat individually screws with your mind, and toke.c intermeshes them all simultaneously.
and above that the compiler cheats several more ways, just to make sure the compilation looks to be done in "one pass", while propagating context information every whichaway. 21:16
dlocaus its 618 in the English Camel book. 21:17
that is really intersting.
TimToady not to mention building the execution order on the fly
so that by the time you get to the end of, say, a BEGIN block, it's ready to execute already. 21:18
dlocaus oohh... I should have just downloaded a compressed version of it.... 21:19
TimToady s/you get/the parser gets/
the -z does compression on the rsync already
and this way you get "bleadperl". :)
pmurias OT: does anyone remember what was the data stucture for geting the number of elements in a given range (1..interger) called,it worked by storing the number of elements up to powers of or similarly 21:20
dlocaus oh geez.
what a copyright statement on toke.c
1991-2007 21:21
fglock_ home & 21:22
TimToady Yeesh. All I can say is, it's a good thing I was smarter when I was younger, or we'd never have got Perl 5. :) 21:23
pmurias * structure,integer,powers of 2
TimToady: but now you're wiser and we will have Perl 6 ;)
dlocaus wow, the perl5 code looks very nice. Well documented and formated 21:24
TimToady well, dunno about wiser--more treacherous, anyway. 21:25
dlocaus: that part wasn't my fault :)
as in "Old age and treachery will overcome youth and skill." 21:26
dlocaus S_incline here it is
perl has really spoiled me. 21:27
I can barely remember how annoymous variables work in C 21:28
moritz_ with malloc ;)
TimToady they actually work? neat!
[particle] it's a twelve step process
TimToady Step 1: admit you have a problem... 21:29
moritz_ Step 2: install perl
dlocaus its stuff like this: if (strnEQ(s, "line", 4))
where is "line" stored? on the stack? in some constants area?
TimToady up to the compiler 21:30
dlocaus :)
TimToady a sufficiently smart compiler might turn that into if (s[0] == 'l' && s[1] == 'i' etc
dlocaus yea,.. and if you modify it what happens?
TimToady modify what? 21:31
dlocaus well
strnEQ(char *s, char *s2, int ) {
strcpy('weee',s2);
}
allbery_b gcc will stow "line" in read-only storage 21:32
unless told otherwise
dlocaus c knows about read-only storage?
TimToady but in the good old days it was just "Doctor, it hurts when I do this..."
moritz_ dvorak: the question is if your assembler knows about it ;) 21:33
allbery_b dlocaus: it does have "const"
moritz_ s/dvorak/dlocaus/ # sorry
allbery_b and the type of a string literal is (const char *)
dlocaus I last worked with C about 15+ years ago.
allbery_b the standard allows it to put those in r/o, and gcc does so these days
dlocaus I can read it, and I know I've shot myself in the fut with it.
I thought it was quite possible to just confuse C to death. 21:34
allbery_b (flip side, it's entirely possible for the compiler to recognize that a string constant with NUL will fit in a register and compare it *that* way)
it's not so much that you can confuse C as that you can confuse yourself (or others reading your code)
dlocaus is a bit more used to a flakey assembler. 21:35
allbery_b then again, that is true of certain other languages as well :>
moritz_ ORLY? ;)
dlocaus When I was programming C, I would do amusing things like create variables on the stack, and then later use free( stackVaraible) to release it. 21:36
pmurias dlocaus: what was the point?
dlocaus no point, it was just a lousy bug for me to hunt down.
which is one of the reasons, I REALLY like perl. 21:37
and if the stack ptr was high enough when it was created, sometimes, the bug didn't express itself.
or until much later, when the stack got over written.
moritz_ you can use valgrind these days to find such bugs 21:38
TimToady well, in general C is a lot of accidents waiting to happen simultaneously
dlocaus The problem was I passed the pointer around so many times, I forgot that the original structure was allocated from the stack.
-oopps-
OT: My all time favorite bug... well, there is 2 of them. 1. I accidently double incremented on a circular loop pointer. Thus, on even valued circular loops, the code would hang, on odd valued circular loops, the code would work fine. My 2nd all time favorite bug... well, I forgot to throatal the email for some warnings, and after a major crash the code dumped 900 emails into my bosses cell phone. 21:40
TimToady you mean that wasn't on purpose!?!? 21:42
dlocaus the emails? yeah... it was funny "How the HELL am I going to delete these emails?" 21:43
needless to say the snickering got back to the other end of the line.
I think it would be a good email service to offer. To throatal email for people. 21:44
Send an email to [email@hidden.address] with subject "[white list] ...", then throtal the email to that account
it would forwarded the email to an address predetermined by the user.
Since, many cell phones have a 10 or 5 cent fee, this would be a good service. And backed up emails could be read on line or just mass deleted. It would be a limited market though 21:45
21:47 ilogger2 joined
dlocaus my brain is out of commission... I'll cya guys alter 22:11
TimToady well, he was warned. :) 22:21
22:25 fglock joined
pugs_svn r18982 | fglock++ | [kp6] add a test 22:36
22:50 rindolf joined
spinclad ans: if you're mad already you still go mad 22:53
22:56 rindolf left
pugs_svn r18983 | fglock++ | [kp6-perl5] "HashProxy" is gone 22:58
r18983 | fglock++ | [kp6] TODO update
22:59 araujo joined
pugs_svn r18984 | fglock++ | [kp6] roadmap update 23:08
23:57 ether0 joined