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.
meppl good night 02:19
pugs_svn r19095 | Darren_Duncan++ | ext/Muldis-DB/ : renamed all ::DBMS Perl packages to ::Machine, and all other 'dbms' named vars etc 09:32
moritz_ the loggin bot has trouble connecting to irc.freenode.net 09:40
no idea what's wron 09:41
g
pugs_svn r19096 | fglock++ | [kp6-perl5] .map was overwriting $_ 11:32
MoKu23 hi 13:00
;) 13:01
􏿽xB0_􏿽xB0 13:02
boy help me?
araujo no
MoKu23 why? 13:03
araujo because we can't
MoKu23 w la figa e non ci pensate + xD
araujo creo que no entendistes lo que te dije 13:05
elmex speaking russian won't get u far 13:07
fglock i found a workaround for mixing code and regex in perl5 - testing... 14:56
pmurias fglock: what's the workaround? 15:31
fglock it's a mix between the current p5rx and PCR, 15:32
kind of an inside-out of p5rx
one sec,
pmurias okay
fglock $ perl -e ' $_="4234"; ( /\G4/g && /\G2/g ); print pos(),"\n"; '
add regex to code, instead of add code to regex 15:33
fglock it's just a bit slower 15:33
pmurias fglock: not nessesary much slower 15:34
fglock but most important, it shouldn't segfault
i'm working on an implementation 15:35
pmurias fglock: once it's working in should be possible to have it join fragments not containing perl5 code
fglock sure
fglock there are several possible optimizations - i just want it to work for now 15:41
hareldvd Does env variable such as LC_LANG influences regexps? cos on egrep it does. 15:52
wolverian perldoc perllocale 16:01
if you mean perl 5
as for perl 6, I don't remember that in the spec. 16:02
pugs_svn r19097 | fglock++ | [kp6-perl5rx] new perl5rx emitter, passes t/kp6/grammar/01-simple-or-token.t 16:17
r19097 | fglock++ | - old perl5rx emitter saved to Emit::Perl5RegexPure
TimToady at the standard unicode level, "graphs"¸ locales are completely ignored. 16:22
locales are evil 16:23
wolverian and useful :)
TimToady but if you ask for language dependent character processing, you can ask it to pay attention to a locale
wolverian what I hate is when an app decodes the input _file_ according to locale
that makes absolutely no sense 16:24
TimToady locales are a classic case of misplaced type information
wolverian hm, yeah.
TimToady and p6 is trying to clear up all the misplaced data
pugs_svn r19098 | fglock++ | [kp6-perl5rx] t/kp6/grammar/02-non-capturing-group.t passes 16:25
fglock yet another regex engine rewrite :P 16:26
wolverian I'm so tired I started thinking about attaching locale info to the monitor
"my monitor is en_US.UTF-8"
pmurias wolverian: why does decoding the input _file_ according to locase does not make sense? 16:27
wolverian pmurias, what does the file have to do with the locale?
pmurias wolverian: locale as far as i understand is the information about the local environment which files are part of 16:31
i myself only care about the charset part of the locale 16:32
wolverian the locale doesn't really have anything to do with files. maybe you just downloaded the file from elsewhere. 16:33
I think larry meant this problem. the metadata isn't attached to the data.
allbery_b actually I would say the locale does have to do with files. the problem is the ==wolverian locale should be part of each frile's metadata 16:34
notpart of the "globa" environment
wolverian right
pugs_svn r19099 | fglock++ | [kp6-perl5rx] t/kp6/grammar/03-ident-token-from-grammar.t passes
pmurias wolverian: i think the understanding is that you convert all the files you store on your hard drive 16:35
wolverian no 16:36
are you perhaps thinking of filenames?
allbery_b his theory is that any time you obtain a file from somewhere it is converted to your format 16:38
the problem here is shared files: what if person A's format is ISO8859/1 and person B's is UTF16?
so the file really needs to be tagged 16:39
pmurias allbery_b: i belive ISO8859/1 should be obsoleted 16:42
allbery_b *shrug* substitue UTF8 then. (WIndows uses UTF16, Unix prefers UTF8, so that is not necessarily a trumped-up example.) 16:43
that said, older files may well still be ISO8859/1
and still older ones may be plain ASCII 16:44
(yes, some of us *do* have files that old hanging around; shuld we really have to recode them every few years to keep up with current notions?) 16:45
pmurias allbery_b: i agree with you that they should be marked with metadata 16:47
pmurias that would make the recoding much easier ;) 16:48
allbery_b if I keep tem for archival and don't touch them that often, recoding only when needed is better. and it still doesn't address the question of files thatmay be accessed by different users with different environment settings 16:49
pmurias fglock: shouldn't it be /gc instead of /g? 17:23
fglock what is /c ? 17:24
pmurias it's the continue modifier, the pos dosn't get reset on a failed match 17:25
pmurias s/reset/zeroed/ 17:27
djm where are those documented? it doesn't seem to be in perlre (what's /e?)
fglock i think it is not needed, because the program needs to store pos() in order to control backtracking anyway 17:28
pmurias /\G1/g && (/\G2/g || /\G3/g)? 17:29
is /\G(1[23]|3)/g instead of /1[23]/g 17:30
fglock see Rule::Or - but i may be wrong 17:31
fglock the old p5rx algorithm can't be directly mapped to the new one 17:35
the local+backtrack trick doesn't work 17:36
pmurias fglock: why dosn't the save pos and restore it if Or fails trick work? 17:42
fglock: i think it needs to be /gc for &&
fglock it works, the problem is it needs to reset the $GLOBAL::_M structure too 17:43
fglock i think you don't need it for &&, because if it fails it ... failed 17:44
pmurias right
fglock but i'm not thinking clearly after 3 days struggling perl5 bugs :P 17:45
fglock i think we need some simple && and || tests 17:46
fglock i mean, regex tests 17:50
pmurias i got it
fglock get some coffee && food & 17:51
pmurias fglock: kp6 dosn't support || and && (but | and & do what they should) 17:55
& 18:01
pugs_svn r19100 | dlo++ | [kp6] Altered the files so that perltidy is not required 18:21
dlocaus well, harddrive is still in the shop... but I've got another one going! I'm back!
pugs_svn r19101 | fglock++ | [kp6-perl5rx] implemented some rollbacks 18:42
fglock dlocaus: :)
dlocaus fglock: in the Makefile
how does mp6.pl know which files to compile and which ones not too? 18:43
pugs_svn r19102 | pmurias++ | [kp6] simple or test
fglock the make utility looks at the file dates
dlocaus fglock: but I did a forcerecompile
compiled/perl5-kp6-mp6/lib/%.pm: src/%.pm
$(PERL) script/mp6.pl -o $@ $<
that makeline seams to be indicating compile -everything- in src/%.pm into compiled... 18:44
but only some files are compiled.
why isn't anything in KindaPerl6::Runtime::* compiled by mp6?
sorry, src/KindaPerl6/Runtime/*.pm
pmurias other rules take precendence 18:45
dlocaus pmurias: ah, so if another "rule" had worked on the file, then it is skipped? 18:46
so in effect the last rule is the "default" rule for all files that had not been touched? (for this makefile)
pmurias yes 18:47
dlocaus ah, ok, now this makes more scense :), ty 18:48
dlocaus fglock: I found this in the FAQ.pod, is it obsolete now? 18:55
=item Bootstrapping mp6-perl5: (FGLOCK: Where is this?)
This script rebuilds the lib5 directory. It creates a directory named lib5-new:
perl util/build-perl5.sh
mv lib5 lib5-old
mv lib5-new lib5
pmurias pos($_pos) is a bug it should be pos($_) = $_pos;
dlocaus and, is perl kp6-perl5.pl now known as script/kp6
fglock this is in v6-MiniPerl6/util
dlocaus ah, ok 18:56
fglock pmurias: one sec, I'll commit what I have here 18:57
dlocaus fglock: (when you get a chance) 18:58
The 'kp6-perl5.pl' script is one of the possible compiler 'workflows' that can be built with kp6.
perl kp6-perl5.pl < source.pm > dest.pm
this kp6-perl5.pl is now known as the perl5 build from Makefile.pl? And the script is script/kp6 -Bperl5 in effect right?
pugs_svn r19103 | fglock++ | [kp6-perl5rx] more fixes
dlocaus (that was from the FAQ.pod too)
fglock yes, script/kp6 -Bperl5 is the old kp6-perl5 18:59
dlocaus ok, ty
pugs_svn r19104 | fglock++ | [kp6-perl5rx] fixed pos() usage - pmurias++ 19:02
r19105 | dlo++ | [kp6] Updated the documentation. Please review the changeset. 19:03
pugs_svn r19106 | fglock++ | [kp6-perl5rx] fixed extra } 19:10
r19107 | dlo++ | [kp6] Added comment explaining the mp6.pl part of the Makefile.PL 19:13
dlocaus is this file supposed to be commited? 19:14
compiled/perl5-kp6-mp6/lib/KindaPerl6/Visitor/Emit/Perl5RegexPure.pm
it was "made" on my machine, but not part of the repository
fglock dlocaus: it has bugs - I'll move it away 19:16
dlocaus oh, ok.
pugs_svn r19108 | dlo++ | [kp6] perltidy'd these files 19:19
r19109 | fglock++ | [kp6] move Emit::Perl5RegexPure away, because it segfaults Perl 5 19:21
fglock & 19:42
pugs_svn r19110 | dlo++ | [kp6] perltidy'd these files 20:10
dlocaus in "class Var" it has the attribute $.namespace, when I debug the compiled version it appears to say that $.namespace is an array. but when I invoke $.namespace.elems == 0, it claims it is not an array 20:36
$.namespace.elems converts to perl5: $self->{namespace}->elems() 20:37
but $self->{namespace} is an unblessed reference
ergo: if ( ( $self->{namespace}->elems() == 0 ) )
that fails
pmurias: ping?
@seen pmurias 20:38
lambdabot pmurias is in #perl6. I last heard pmurias speak 1h 42m 43s ago.
dlocaus moritz_: ping?
pugs_svn r19111 | dlo++ | [kp6] a little bit of work, getting subroutines to emit in perl6 20:42
pmurias dlocaus: ping 20:54
dlocaus pmurias: pong
pmurias: did you read what I wrote above your initial ping inquriy? 20:55
about "class Var"
pmurias it looks like namespace is undef if not specified 20:56
dlocaus but when I quired it via the debugger it was an empty array
pmurias dlocaus: mp6 stores arrays as unblessed array references 20:58
dlocaus humm ok 20:59
pmurias mp6 is buggy 21:00
dlocaus oh argh!
:) 21:01
pmurias dlocaus: on of the points of the bootstrap is to no longer use mp6 21:04
dlocaus this bootstraping is giving me a headache.
dlocaus If we use mp6 to compile perl6 code to provide libraries for kp6, and then we no longer use mp6, who will compile the perl6 code to provide libraries for kp6? 21:05
pmurias dlocaus: we don't use mp6 is such capability as far as i know 21:06
have you found any such files?
dlocaus Well, yes. When you "make forcerecompile", the first 10 or so files, are files compiled by mp6 to produce the AST and visitor code 21:07
and the Grammar code. 21:08
pmurias they will be compiled by kp6
dlocaus is thinking 21:09
pmurias you will have to have a compiled version of kp6 to compile the source code
meppl good night
pmurias meppl: good night 21:10
dlocaus but once you can get a "good" version of kp6 going, then you can compile the parser files that mp6 used to compile, and then remove mp6? 21:11
meppl ;)
pmurias dlocaus: exactly 21:12
dlocaus ah ok.
what happens when you find there is a flaw in the kp6 parser code?
pmurias there are lots now 21:13
dlocaus humm, ok 21:14
pmurias you change the kp6 source code and compile it with the last working version
dlocaus ok, I'll update the FAQ
pmurias dlocaus: you are talking about it in the context of the future when it's bootstaped, or right now? 21:15
* asking
dlocaus well, this seams to be the problem where in that old problem, what happens if someone puts a "backdoor" in the compiler, thus when the compiler compiles any other code (including another compiler) it would put the "backdoor" in the next "compiler" 21:16
pugs_svn r19112 | dlo++ | [kp6] documented the bootstrapping process better. 21:23
r19113 | dlo++ | [kp6] documentation clean up, removed idiom. 21:26
pmurias b 21:33
pugs_svn r19114 | pmurias++ | [kp6] minor clarification 21:39
pugs_svn r19115 | pmurias++ | [kp6-faq] described status of v6-Onion, small changes 21:56
dlocaus pmurias: ping? 21:57
dev.pugscode.org/browser/v6/v6-Kind...ot.pm#L303 21:58
dev.pugscode.org/browser/v6/v6-Kind...ot.pm#L799
I was hunting down an odd report by perl::tidy complaining of duplicate subroutine names in the Parrot.pm package. 22:02
In "class Var" method name "name", and "invocant", "positional" in "class Sig"; are produced twice
when compiled by mp6.pl.
the first time is the accessor (standard accessor), but the second declarations of the subroutine force it to be read-only.
I removed the subroutines and all the test cases worked as normal. Should those R/O accessors be removed?
pmurias: ping?
moritz_: ping? 22:03
pmurias dlocaus: pong 22:08
dlocaus pmurias: hey, can you check out the above comment?
pmurias doing it
dlocaus: you can remove it 22:10
dlocaus ok, ty
pmurias does Emit::Parrot actually work?
dlocaus I don't know. 22:11
I was hunting down an odd report when doing a forcerecompile
pasteling "dlocaus" at 63.192.210.11 pasted "odd perltidy report" (8 lines, 900B) at sial.org/pbot/29110
pmurias i think it's unsupported
dlocaus pmurias: I've pasted it above.
pmurias: well, it may be unsupported now, but it will have to be supported sometime! ;) 22:12
pmurias dlocaus: i think going through PAST instead of directly emitting pir is the way to go
dlocaus PAST?
ah, I see 22:13
neat
I'm not that far along yet... in the parrot world, I'd still be a bird cage cleaner :) 22:14
pugs_svn r19116 | dlo++ | [kp6] Perl::Tidy was producing an error message stating that 22:19
r19116 | dlo++ |
r19116 | dlo++ | /usr/bin/perl script/mp6.pl -o compiled/perl5-kp6-mp6/lib/KindaPerl6/Visitor/Emit/Parrot.pm
r19116 | dlo++ | src/KindaPerl6/Visitor/Emit/Parrot.pm
r19116 | dlo++ | 126: already saw definition of 'sub name' in package 'Var' at line 124
r19116 | dlo++ | 197: already saw definition of 'sub invocant' in package 'Sig' at line 193
r19116 | dlo++ | 198: already saw definition of 'sub positional' in package 'Sig' at line 194
r19116 | dlo++ | 22:20
r19116 | dlo++ | While, this message appears to be from perl, or even mp6.pl it is really produced by Perl::Tidy.
r19116 | dlo++ | MP6 produces (as per spec) accessors for attributes in "class Var" and "class Sig"
r19116 | dlo++ | however, those classes later produces read only accessors.
r19116 | dlo++ |
r19116 | dlo++ | pmurias said they could be removed:
r19116 | dlo++ |
r19116 | dlo++ | irclog.perlgeek.de/perl6/2007-12-07#i_158855
lambdabot Title: IRC log for #perl6, 2007-12-07
pugs_svn r19116 | dlo++ |
r19116 | dlo++ | make forcerecompile; make test; -> all tests pass
pugs_svn r19117 | dlo++ | [kp6] I have added a line of code to strip the spaces at the begining of every line. 22:54
r19117 | dlo++ |
r19117 | dlo++ | By removing the spaces from begining of every line, I have reduced the amount of time it takes to parse a file.
r19117 | dlo++ |
r19117 | dlo++ | On a 26k file compiled by mp6.pl, this reduces compilation time by 3 seconds. I believe overall this would reduce
r19117 | dlo++ | total compilation time by 1 minute.
r19117 | dlo++ |
r19117 | dlo++ | Since, all code is parsed by perltidy after being "compiled" there are no net changes to any of the files.
r19117 | dlo++ |
r19117 | dlo++ | make forcerecompile; make test => passes all tests.
r19117 | dlo++ | svn noted no changes in the compiled/* directory too!
r19117 | dlo++ |
r19117 | dlo++ | dlocaus++ (sorry, could not resist) 22:55
pugs_svn r19118 | dlo++ | [kp6] I have written in code to allow people to quickly turn on/off the use 23:58
r19118 | dlo++ | of perltidy by setting the environmental variable PERLTIDY to /dev/null, instead
r19118 | dlo++ | of ???/util/perltidyrc. This reduces compile time by approximately 20%.
r19118 | dlo++ |
r19118 | dlo++ | #!/bin/tcsh
r19118 | dlo++ | setenv PERLTIDY /dev/null
r19118 | dlo++ | unsetenv PERLTIDY
r19118 | dlo++ |
r19118 | dlo++ | I have doubts about this feature as I am worried that someone will commit these
r19118 | dlo++ | files to the respository. However, volunteer time is -the most- valuable
r19118 | dlo++ | time and should not be wasted.
r19118 | dlo++ |
r19118 | dlo++ | A warning will be issued at compile time requesting that the user not commit
r19118 | dlo++ | these files to the respository.
r19118 | dlo++ |
r19118 | dlo++ | dlocaus@ #perl6 irc.freenode.net