6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | < audreyt> my fingers juxpatosed
Set by nothingmuch on 24 February 2006.
00:10 bill_n1vux joined
clkao putter: does the use/require change break pil2js ? 00:11
doh 00:12
00:38 Maddingue joined 00:40 Shachaf joined
eric256_ checks the test suite and finds that all operator overloading on objects is broken. blah ;) 00:48
that would explain why it wasn't working. lol
01:01 Khisanth joined
Steve_p putter, where are the docs for the pluggable regexp engine in Perl 5? 01:02
01:10 putter joined
putter clkao: re pil2js, yes, it needs little use/require funcs written. 01:12
may even be able to do it in p6. :)
eric256_: ah, my test run hasnt gotten there yet. here's where we get to find out everything yaml doesnt quite dump/undump properly. ;) 01:13
Steve_p: the file is misc/pX/Aside/Regexp-ReplaceEngine.pm Feel free to move it back to misc/pX/Common/. Aside from the docs mentioned in the file, I don't know of any. It's apparently a read-the-source kind of situation. However, 01:16
there have apparently been a couple of attempts over the years to swap in an alternate engine like pcre. Given how much glue would be needed, a non-trivial endeavor. But they may have left behind code somewhere which might make interesting reading. audreyt or TimToady might know where to look / who to ask. 01:17
clkao putter: ok... will try to look at it tomorrow if you haven't happened to fix that 01:18
eric256_ whats the nopaste link? 01:19
szbalint It is interesting how many of the crypt words unfolded since I've started reading the synopses thoroughly
putter eric256_: sial.org/pbot/perl6 01:20
pasteling "eric256" at 24.8.74.230 pasted "Operatoroverload Test" (16 lines, 306B) at sial.org/pbot/16171 01:21
eric256_ i'm not sure if thats a mis parse.. or if the overloaded operator is actualy dispatching wrong
01:23 mako132_ joined
eric256_ if you could verify that i'm not just being an idiot, i'll commit it ;) unless i should commit it first and look like an idiot 01:23
putter clkao: nifty. i've no plans at present. my "contribution" was fighting haskell and Prelude stuff for a day. man perlfunc has the require/use algorithm. i'll help out with anything on which i picked up specialty knowledge, but I think things currently shake out as nothingmuch - real caching, gaal/audreyt - yaml bugs which turn up, and... I'm not sure what else. sound plausible? 01:24
sigh. the "nifty" was bound all the way back to "will try to look at it tomorrow". ;)
clkao giggles 01:25
putter re paste, looking...
eric256_ it dies claiming that " No such method in class Int: "&q"" on the second test 01:26
putter which test file was it?
eric256_ new one. no current tests seem to test this case
putter oh, working... 01:27
eric256_ i can put it in an existing file, i was just trying to reproduce it before fitting it in a current test file.
01:28 stevan_ joined
putter I get that error with r9267, so it's not a yml effect. also the same in r8933. 01:30
so it's been around at least since the last release.
eric256_ yea i didn't know when it started. i just wanted to make sure its an actual error and not me making a mistaken assumption 01:32
01:32 fglock joined 01:33 bill_n1vux left
putter ah, ok, I'll eyeball it again. r7000 7500 8000 8500 all have the same behavior. 01:33
eric256_ cool. after dinner i'll find a good home for it and commit it. ;) 01:34
fglock Juerd: cgi:irc is back :)
putter looks good to me...
fglock putter: I've got 'if' working, using a macro written in Perl 6 - only uses eval() to actually execute the perl5 command 01:35
putter :)
fglock I can't commit right now - I've sent a tar.gz to feather 01:36
got to solve svn conflicts first
putter szbalint: yeah. if I had realized long ago how much time I'd be spending here... hmm, i don't know, i'm not sure more careful reading would have helped or not ;)
ah 01:37
i just spent... i guess 2 hrs playing with teaching pge the Parser.hs rules. eh. 01:40
fglock: svn conflicts == other people helping out with your stuff... neat :) 01:41
fglock putter: I guess there is not much left to write in the perl5 side - just refactorings and bugfixes - most of the work now will be in the prelude side 01:42
putter what do you need?
fglock next step could be to define variable attribution and anon-subs, in order to implement 'if' more cleanly 01:43
putter variable attribution? 01:44
fglock $a = sub { code };
this needs 2 new nodes, one for <variable>=<terms> and one for sub<block> 01:45
Cryptic_K <alive> I lost my virginity to santa. 01:46
fglock another option would be to find out a simpler way to implement 'if', but I couldn't find one yet 01:48
putter stumbles back, realizing he's completely non-spun-up on i_e internals :( 01:49
any nice simple rule{}s you'd like written? ;)
sigh 01:50
fglock let me see... 01:51
01:51 supaplex joined
supaplex m00! 01:51
fglock yes - '\n', and find out how to do '#comment\n' work 01:52
that's not a priority - but it can make a nice exercise
putter \#\N* ?
fglock it doesn't have \N either 01:53
putter ok, I'll push it on the todo list. I think I'm just about at end-of-day.
01:54 Nouk joined
putter ok. 01:54
fglock I'm trying to focus on things that add complexity first, like subroutines and macros
because other things can be built from those 01:55
01:55 supaplex is now known as Supaplex
putter is there an rxbackslash: context? 01:55
that sounds like a good plan
fglock putter: there is an escaped_char in p6rule_lib.pl 01:57
putter but should perhaps also develop a list of bite-sized chunks which others can work on without understanding much of how it all works. that's then stuff you dont have to deal with.
great
fglock there is a summary of the i_e rule API in the start of the i_e.pl file, I hope it helps 01:58
01:59 jisom joined
putter ah, yes 02:00
fglock I think it would be easier to just define a <p6ws> rule, that would consider #comment as whitespace - this could be done with plain p5 regexes - see the implementation of <ws> 02:01
re: priority - comments are actually important for the prelude to be readable 02:02
putter :) 02:03
Supaplex readable perl? since when? 02:05
jisom since the first poem? 02:06
Supaplex hehe ok
putter fglock: do you wan p6ws_star too? 02:07
fglock you put comments in the file so people have something they can read
putter: ws is star by default
oops - sorry - it is + by default 02:09
putter p6rule_lib.pl contains both a ws and a ws_star. i've created a p6ws there (right thing?). would you like a p6ws_star too?
02:09 blm is now known as WizzyWig
fglock yes, p6ws_star is ok 02:09
putter ok
fglock thanks!
Juerd: can you install dos2unix in feather? I'm trying to migrate some code that was edited in Windows 02:11
jisom perl -pi -e 's/\015//g' 02:12
:-p
fglock jisom: thanks!
jisom \n is not portable, but \015 is 02:13
well, \r rather 02:14
\r\n => \015\012
Supaplex vim works to. :set ff=unix
jisom \r\n on MacOS 9 and below is \012\015
fglock getting help is great, but merging svn differences is not much fun 02:16
svnbot6 r9283 | putter++ | iterator_engine_p6rule_lib.pl: added p6ws and p6ws_star.
r9284 | putter++ | iterator_engine_p6rule_lib.pl: fixed p6ws and p6ws_star.
putter sigh 02:17
fglock: what tool are you using?
fglock myself
putter ;)
Supaplex lol 02:18
fglock I've got TortoiseSVN, but I'm not much familiar with it
I fixed $<> to $(), and it is used all around the program 02:22
putter can anyone suggest best-of-breed, or merely nice;), merge tools?
jisom I think svn has a merge command 02:23
putter fglock: re moving to misc/ , another option would be to move downward, as with misc/pX/Common/Regexp-Parser/ ...
fglock putter: OTOH, how about moving /Common up? 02:26
putter to misc? sure. oh, wait. then where do the personaldirs go? 02:29
eh, they can stay where they are. feel free. 02:30
fglock how about /Common/fglock ? 02:31
putter na, then Common, which already has clutter issues, completely loses it. 02:32
oops. end-of-day. cheers. have fun. & 02:33
fglock good night
02:36 joepurl joined 02:39 r0nny joined
fglock pmurias++ : refactoring dispatch 02:41
02:57 Cryptic_K is now known as K
svnbot6 r9285 | fglock++ | pX/fglock/iterator_engine - not-yet-merged version 02:59
r9285 | fglock++ | - 'if' implemented using Perl 6 macro
r9285 | fglock++ | (XXX - slow; non-reentrant yet; redefines subroutines to emulate anon-subs)
r9285 | fglock++ | - fixed $() syntax
03:06 Kattana joined 03:23 FurnaceBoy joined, K joined 03:34 vborja joined
svnbot6 r9286 | fglock++ | iterator_engine - moved to misc/Common/iterator_engine/ 03:38
03:43 K joined 03:44 K joined
FurnaceBoy wb 03:52
04:10 FurnaceBoy_ joined
fglock Komodo should have merge :( 04:13
WizzyWig fglock: Merge what?
fglock WizzyWig: my version of a file with the one in svn 04:15
pasteling "mamboo" at 62.162.198.154 pasted "sial.org/pbot/6266" (1 line, 25B) at sial.org/pbot/16173 04:22
WizzyWig flgock: Thanks 04:31
sorry fglock 04:32
fglock :)
04:35 aslplssa joined 04:37 xern joined 04:46 WizzyWig is now known as blm 04:59 mako132_ joined 05:17 vel joined 05:20 typonaise joined
svnbot6 r9287 | fglock++ | iterator_engine - merged revision 9286 05:21
05:22 fglock left 05:25 Draconit joined 05:27 Draconit joined
gaal morning. 05:38
limbic_region: could you summarize the current state of your slowness woes? I didn't understand if anything is broken. 05:39
05:42 FurnaceBoy_ is now known as FurnaceBoy 05:47 K joined 05:50 Draconit_ joined, K joined 05:52 K joined
gaal Juerd: ping 05:54
05:58 sapper joined 06:02 sapper joined 06:11 vel joined 06:13 justatheory joined, putter joined
putter gaal: i believe LR is all set. 06:13
is svn.openfoundry.org not resolving, or is it just me? 06:15
fglock: remind me why Common is better under misc/ ? 06:16
gaal putter: cool 06:18
putter general fyi - i dusted off the Replace-RegexpEngine.pm thing. just too tempting. thus the late night. will commit when I can see openfoundry. basically, more docs, more real code.
szbalint it resolves fine here
putter szbalint: ok, thanks. i had issues, so am probably just still wedged. 06:19
gaal not resolving here either.
szbalint hm, it might be cached for me 06:20
putter sleep & 06:21
gaal night putter
06:24 kanru joined 06:30 mauke_ is now known as mauke 06:44 Draconit_ joined, Draconit_ left 06:47 huhlig joined
huhlig are there any speed comparisons for perl6 yet? 06:47
I am looking for what language to program something in, moderately large project and was curious
jisom perl6 isn't for that....perl5 could be
huhlig perl5 would work better for speed? 06:48
jisom and memory
huhlig oh...
perl5 isnt very good for speed
jisom perl6 is currently implemented with pugs, which uses ghc
huhlig hmm
jisom well if perl5's too slow for you, then maybe c? 06:49
huhlig C is what most programs are written in, C just sucks for string handling
and this program centers around user inputted strings
06:49 nothingmuch joined
gaal szbalint: what's the ip for openfoundry? 06:50
szbalint svn.openfoundry.org IAI140.109.17.109
gaal thanks :)
szbalint yw
huhlig reason speed is an issue is it is a virtual enviroment so it will average 150 users and 300k objects
hence why I was hoping perl6 improved upon the speed and memory issues from perl5
gaal beh, it still doesn't find it, wich is too bad as I have a commit pending and probably no internet access later today 06:51
jisom can always write it in pir, I'm writing some oo code in pir right now
huhlig pir? 06:52
gaal oh wait no, it does work. cool :)
jisom parrot intermediate representation
huhlig hmm
svnbot6 r9288 | gaal++ | * util/build_pugs.pl: gzip Prelude.pm.yml with Compress::Zlib when
r9288 | gaal++ | possible. Commits to also look for a gzip executable as a fallback
r9288 | gaal++ | are welcome.
r9288 | gaal++ | * Pugs.Run: pull YAML parsing into the try block, making for more
r9288 | gaal++ | robust loading of the Prelude.
jisom perl6 will run on parrot, first being compiled to pir, it's not there yet
huhlig ahh
will perl6 be faster in the long run?
this program will take about a year to develop
jisom well, parrot can be faster than c for the right benchmark :-D 06:53
gaal takes off for $work &
huhlig strips away his dignity
its a mud
perl would work beautifully
but at the scale it needs to be
I need something almost as fast as c
FurnaceBoy 150 users isn't that many.
huhlig no
but 300k objects minimum is
jisom slashdot runs using perl
I don't know how many hits per minute they get 06:54
FurnaceBoy 300k 'objects' ?
huhlig yes
FurnaceBoy doesn't sound very stressful
why do you think this is out of reach of Perl?
huhlig speed
FurnaceBoy have you done benchmarks?
huhlig every benchmark I have looked at has said perl speed is bad
FurnaceBoy hahahhahahahaha
huhlig oddly enough I have
FurnaceBoy and? 06:55
huhlig although the program types were vastly different
FurnaceBoy well, that's not good.
huhlig it was for a database retreival
the C program worked about twice as fast
FurnaceBoy I mean, decently representative benchmarks
jisom so the time was the actual database server?
huhlig no... I have no way to compare
no
it was mysql on a local connection
FurnaceBoy you should benchmark before discounting Perl, or Python, or whatever else might be a good impl choice.
huhlig it was in the processing that it died
06:56 kanru joined
huhlig FurnaceBoy hence why I was asking 06:56
jisom how much memory do you have?
huhlig on my dev box, 512
FurnaceBoy well, I wouldn't be recommending Perl6 at this moment. It's , ah, under development
huhlig on my server. prolly 1 or 2 gig
jisom so ram isn't a problem at all
huhlig FurnaceBoy, how hard will it be to convert from perl5 to perl 6
I like some of what is being said about perl6
its just not there yet 06:57
FurnaceBoy so do I :-)
well, huhlig, you may not need to migrate.
huhlig oh?
FurnaceBoy as jisom says, some very very heavy loaded sites run Perl5
huhlig heh
FurnaceBoy it could just be an architectural idea
there's many ways to skin a cat.
huhlig ok, quick question for you
Redblack Btree 06:58
FurnaceBoy I'd look closely at your particular architecture, don't be put off by possibly unrelated speed tests.
huhlig any implementation in perl you are aware of
FurnaceBoy googled?
huhlig tried... most is in java
jisom there's really only one implementation of perl........just different versions...
huhlig ahh
jisom it's not like java, or c, or c#, etc.... 06:59
huhlig hmm... I must have typoed earlier
one other question
jisom it's like one of the few major languages with only one implementation
huhlig what is the best way to do includes in perl
FurnaceBoy jisom, I'm not sure what you mean. Perl6 is radically differetn from Perl5 is radically different from Perl4 , I thought.
huhlig someone told me it was do "x"
FurnaceBoy Perl5 was larry's rewrite and Perl6 is the community's rewrite, I've seen it stated? 07:00
jisom FurnaceBoy, but all perl's were coming out of the same group, right?
FurnaceBoy yes, but the impl, syntax are somewhat different in generations
Perl5 and earlier are Larry's.
Perl6 is deliberately a community effort.
correct me if I am wrong.
jisom but it's not like c, which has many compilers with their own extensions
huhlig you can compile perl right 07:01
FurnaceBoy huhlig, www2.ocean.washington.edu/perl/manual/
huhlig and make an EXE
FurnaceBoy well, C is standardised, jisom.
huhlig or a.out elf
FurnaceBoy I see what you mean, there is one implementation of Perl.
But several generations.
yes, huhlig.
Perl can generate C.
huhlig it can?
FurnaceBoy in fact, you can read about it on that page I cited.
jisom not the extensions, and sometimes the extensions just become standardized because they became common 07:02
FurnaceBoy yes, I see what you are saying now.
'one place'
but I wished to emphasise for huhlig's benefit that there are distinct generations: 6, 5, 4, etc.
huhlig I realized that 07:03
hence why I am here
=^_^=
jisom perl6 is sort of a "get rid of bad backwards compatability, let's get this right"?
FurnaceBoy heh.
yes
"for better or worse" HAHA
FurnaceBoy is quite fond of Perl5
07:03 KingDiamond joined
huhlig so would developing in perl6 be a good idea? 07:03
jisom is quite fond of pir
FurnaceBoy for the kind of app you're talking about, I think it's not ready yet.
but do some more tests in Perl5 -- sounds like you already are familiar with it? 07:04
jisom well if you're anticipating a year long development, it may not be horrible......when you release
huhlig heh
yes, I program in perl 5 some
not heavy but a decent ammount
FurnaceBoy I would be amazed if speed was a problem when you get down to it.
huhlig ok 07:05
jisom and for your usage, the slowdown won't be as critical as you think, and when you consider the "safety" features of perl running in a virtual machine, it does help compensate 07:06
huhlig true
FurnaceBoy not to mention programmer productivity and reduced stress ;-)
huhlig now I just need to figure out how to write it all in perl
FurnaceBoy you've already identified that strings in C will be a PITA, that's a good start
huhlig heh yes 07:07
jisom oh that's just writing good code, you can write bad code in any language
FurnaceBoy too true
slow code ditto.
I would design carefully up front, think through architecture
huhlig already have alot of C design
jisom design can be more important than code
FurnaceBoy that should translate in principle
too right
huhlig how do you make *global* variables or something from file to file anyhow. I understand multiple file development in C
jisom it's all but vital
huhlig never did figure it out in Perl 07:08
jisom there aren't really globals, but globally accessable
huhlig ok
mauke huhlig: all "global" variables live in packages
where package = namespace
huhlig what document best describes how to develop with multiple files in one "project"
mauke you should probably write some modules 07:09
huhlig I can understand namespaces across multiple libraries or projects using the modules
but in a single project writing each file as a module tends to get funky
mauke why?
jisom perl does allow you to put multiple modules in one file, but using them can become awkward 07:10
huhlig oh
FurnaceBoy huhlig, you'll find a lot of this explained via the manual, e.g. www2.ocean.washington.edu/perl/manual/
mauke FurnaceBoy: that manual sucks
FurnaceBoy hehe
in what way?
is there a better one? 07:11
mauke it lacks a lot of docs and doesn't mention the perl version it's for
FurnaceBoy: yes, your local perldoc
FurnaceBoy I found it pretty much equal to my local perldoc
but okay
huhlig is there a better tutorial for modules
Ive read the perldoc one and I still dont get it
call me stupid... or clueless
im from the ElderC generation 07:12
mauke well, tnx.nl/MOD
but you probably know that
huhlig thats perldoc
mauke a "module" is something that can be loaded with "use"
huhlig yes...
but how do you define a local module
FurnaceBoy mauke, thanks for the url, I'll update where I go habitually now.
huhlig a module used only internally 07:13
in C its done using "" rather then <>
mauke you put it where it can be found
"require" searches the paths in @ISA
see perldoc lib
huhlig so "use .module"
ok
perldoc perlmodlib? 07:14
mauke . is in @INC by default, unless you're running in taint mode (I think)
no, perldoc lib
lib is a module that manipulates @ISA
huhlig ahh
07:15 justatheory joined
huhlig so is it best to have all the master variables in the main pl 07:16
and then they are accessed from $main::var?
mauke variables don't live in files, they're in packages
this is unlike C's globals
huhlig this is what im not understanding 07:17
mauke files are just containers for code that can access variables, but the variables themselves live inside perl
07:18 GeJ joined
huhlig ok 07:18
GeJ morning folks
huhlig so how do I have the appropriate functions access what they are supposed to
such as the network code needs to access the player list in another file
in C its extern 07:19
07:19 iblechbot joined
mauke in Perl you have to decide what package it should be in and how to access it 07:19
you can simply use its full name: $Some::Package::var 07:20
or you can switch into that package by saying { package Some::Package; ... $var ... }
huhlig so I should make the package "package mud" on all of them...
or something more descriptive 07:21
mauke the latter will cause complaints from use strict, where you need { package Some::Package; our $var; ... }
huhlig hmm 07:22
mauke are you sure you need global variables?
huhlig 5 that I am aware of 07:23
2 RedBlack Btrees
mauke e.g. you could put all "global" information in a data structure that's passed to every function
huhlig I could...
even then how do I access functions correctly 07:24
if I have package::main and package::network and so on
I just use all the local packages
then address them all?
mauke there is no difference between local and system packages
in fact, packages are open: you can switch into them from any file 07:25
well, you can use the full name of a function or import it into your package
that's what use Some::Module 'function'; usually does
huhlig so I would do use lib './'
ok 07:26
mauke you shouldn't need use lib '.'; ... are you running as root?
huhlig in dev yes, in reality no
mauke why are you developing as root? 07:27
huhlig windows box
my work laptop
its with me always so I work on it on my lunch breaks
my server is at home but not always accessable
huhlig wishes it was different 07:28
mauke '.' may not be what you want, btw. have a looka at perldoc FindBin
integral hmm, I didn't think we had a FindBin for p6 yet
mauke oh, I'm talking about p5
integral hmm, I didn't think we had a lib pragma either yet :-) 07:29
huhlig use FindBin; 07:30
use lib "$FindBin::Bin/../lib";
FurnaceBoy huhlig, you might gather from integral 07:36
's asides that perl6 is 'in flux' :)
integral not really, it's just that no one's written either of those two yet. 07:37
they're not terribly hard fwiw
07:38 Draconit_ joined, drrho joined
FurnaceBoy is the syntax frozen? huhlig was contemplating p6 for a nontrivial app 07:40
mauke even p5's syntax isn't frozen 07:41
rgs no 07:42
there might be little shifts due to bugfixes, but it's mostly frozen
FurnaceBoy no but yes? 07:45
or yes but no?
huhlig you would make my boss scream
K Anybody have experience with Poco::IRC? 07:46
rgs read the perdelta documents to have an idea of what I call shifts
it's for example "defined $$foo" giving an error under "use strict" when $foo is a string
07:47 nothingmuch joined
FurnaceBoy I guess what I'm getting at. is it ready for someone to sit down and make an investment in coding against today's syntax? 07:47
since it *is* an investment, that could devalue drastically if it were a moving target 07:48
just askin'
huhlig gah!
nothingmuch hola
huhlig cpan isnt giving me Tree
GeJ hola nm
FurnaceBoy hola nm
nothingmuch FurnaceBoy: it's a moving target2 07:49
huhlig ok... Tree::RedBlack is listed but unavailable for download
nothingmuch wouldn't not spend money making people wirte perl 6 today, unless it's to help perl 6
huhlig why would CPAN bork downloading something when I can get it off of Search.cpan.org 07:51
obra indexing issues
huhlig ahh
does that mean I should just do it manually? 07:52
ok now im REALLY confused 07:53
If I copy the URL that Net::FTP is trying to fetch... it works
to a web browser
jisom firewall most likely 07:54
07:54 fandango joined
huhlig hmm 07:54
anyway around it?
jisom passive mode
huhlig how do I set that IN cpan 07:55
hmm I think I found it
jisom I'm not sure, I always disable my firewall while I'm downloading with cpan to get around it....PITA but easier than debugging
huhlig Its not a firewall 07:56
its my router
ok thats anoying 07:57
07:57 marmic joined
nothingmuch huhlig: use an http mirror 07:58
most mirrors are either http or ftp
ftp is really pointless if you already know the full path: it's slower, and more complex to set up
the client needs to cd cd cd cd cd cd get 07:59
huhlig there we go 08:00
well, everythign failed
Can't locate StarMUD/Database.pm in @INC (@INC contains: /cygdrive/e/Starmud.pl/src/../lib /usr/lib/perl5/5.8/cygwin /usr/lib/perl5/5.8 /usr/lib/perl5/site_perl/5.8/cygwin /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/vendor_perl/5.8/cygwin /usr/lib/perl5/vendor_perl/5.8 .) 08:01
what did I do wrong?
mauke well, is it in one of those directories?
huhlig yes
well minus the StarMUD/
mauke so no 08:02
huhlig so I need to have a Subdir for Each Package?
mauke each :: translates to a /
the use of :: is optional
08:03 gaal joined
nothingmuch hola gaal 08:03
huhlig ahh ok 08:04
now to convert C to Perl for network sockets 08:05
nothingmuch huhlig: with ease 08:11
seriously though
it's almost the same interface 08:12
just that instead of char * you usually have return values
and instead of file descriptors you have file handles
but this is probably not the channel for this 08:13
cognominal [HS] hum, knowing some people know js. String.charCodeAt() gives the code of a char. now what gives me a one char string from a code? 08:15
how got it. there is a class method called String.fromCharChode 08:16
08:16 pmurias joined 08:20 KingDiamond joined
pmurias hi all, 08:20
nothingmuch hi
nothingmuch wonders if anybody wants to write an infobot clone in Perl 6
features i'd like:
extensible, localizable grammar
for 'no, this is that'
and 'that was ...'
etc etc 08:21
karma plugin
pmurias i'm irc'ing throuh a library computer at school so i can't write any code now
nothingmuch versioning support
(old versions of info bits)
pmurias yooo
nothingmuch pmurias: go back to yer studying ;-)
pmurias other people accesing the keyboard 08:22
:(
nothingmuch ?
jisom revision controled infobot?
pmurias lo
nothingmuch jisom: not really 08:23
only one place to edit
so just history
e.g. 'revert factoid moosen'
to date or revision
pmurias fglock: is refactoring &emit_rule the same way as &rule fine with you? 08:25
i'll code it when i get home
s/&rule/&emit/
cognominal nothingmuch: is there any one writing a js interpreter in parrot/Perl6? 08:28
ayrnieu cogn - no, at least nothing obviously js in parrot/languages/ 08:29
hah, someone did HQ9+! 08:30
it's probably buggy, though, like the reference version.
pmurias look at misc misc/JavaScript-Frontend
cognominal HQ9+?
pmurias a joke language
ayrnieu ugh, it is egregrariously misimplemented. 08:31
pmurias how can HQ9+ implemnation be buggy?
ayrnieu there is an HQ9+ standard.
Every implementation except for those I've done have blatantly failed to follow the standard. 08:32
cognominal I should prod Jerome Quelin to port his befunge to Perl6
jisom hq9+ runs on parrot
ayrnieu I mean, how do you get 'hello world' wrong?
08:32 elmex joined
ayrnieu This one adds a 'burrrrrp' to 99-bottles, which is just thumbing its nose at the standard. 08:32
faith in humanity : lessened. 08:33
pmurias extend and extend and extinguish 08:34
ayrnieu This is unrelatedly wonderful: zarla.comicgenesis.com/d/20030509.html
jisom what's the +? 08:35
ayrnieu jisom - the accumulator.
jisom don't know that one
ayrnieu jisom - another thing that implementations get wrong -- although the parrot one seems to have at least gotten this right.
I have an Erlang implementation of the HQ9+, strictly following the standard, which is mostly comments. 08:36
jisom looks at the readme from parrot for hq9plus
ayrnieu ranting about other false implementations.
mauke home.cs.tum.edu/~mai/stuff/sigs/h9q+.pl 08:37
ayrnieu The O'Caml one, the only implementation listed at the HQ9+-standard website? It /doesn't have an accumulator/. Way to destroy the turing-plusness of the language, jerk.
mauke is that better?
08:38 pdcawley joined
ayrnieu mauke - ugh, you got 'hello world' wrong. 08:38
mauke damn
ayrnieu mauke - you're closer than the parrot implementation, though, and way closer than the O'Caml.
oh, wait, is that HQ9+ or HQ9++ ? 08:39
nothingmuch [+]HQ9
ayrnieu those have contradictory specifications for 'hello world'.
nothingmuch =D
mauke it's supposed to be HQ9++
ayrnieu mauke - ah. Well, you're more the latter than the former, but you are still wrong.
I'll try and dig up my Erlang implementation, and then both in perl6. In something not intentionally obfuscated so that any errors in my implementation can be easily corrected. no offense :-) 08:41
mauke I had to fit it in 4 short lines :-)
ayrnieu (unrelatedly awesome: zarla.comicgenesis.com/d/20030514.html # :D ) 08:42
08:42 Aankhen`` joined
jisom can you write hq9+ in bf? 08:43
that'd be scary
99bottles does exist in bf
ayrnieu sure, you could almost say that bf is the perfect language for HQ9+ 08:44
not hq9++ , though... no objects.
jisom eh, at least it's on parrot, perfect place for esoteric languages you don't want to spend the time building a vm for 08:45
ayrnieu a poor implementation doesn't impress anybody :-(
jisom considering the speed and memory usage of pugs.......becareful what you say 08:46
ayrnieu ah, well, maybe hq9+ on parrot is still under development.
the problem might be that it doesn't have unit tests based on the standard.
08:57 Draconit_ left 08:59 uszr` joined 09:04 Aankh|Clone joined 09:08 Draconit joined 09:27 lazy1 joined 09:28 lazy1 left 10:09 rindolf joined 10:10 kakos joined
rindolf Hi all! 10:30
kane_: here?
10:45 nothingmuch joined 10:51 theorb joined
nothingmuch this is why haskell gets me down: 11:15
shapr> jimapple: Have you read the bi-arrows for reversible computations paper?
integral ooh, that sounds interesting 11:16
nothingmuch yes 11:17
ENOTIME
didn't even grok the normal arrows
11:38 iblechbot joined 11:39 penk joined 12:00 orafu joined 12:24 rantanplan_ joined 12:36 lisppaste3 joined 12:46 kanru joined 12:48 uszr` is now known as srcmaster 13:27 chris2 joined 13:31 kolibrie joined
theorb Did the SVN repo move, or is it just down? 13:39
nothingmuch worst C++ antipattern:
virtual is bad
instead of using polymorphism, every second object has a 'type' instance variable 13:40
and the methods have switches inside them
integral hmm, openfoundry seems totally devoid of DNS :-/
13:41 typonaise joined 13:44 Qiang joined 13:45 typonaise joined 13:46 gabor529 joined
gabor529 is there a pugsdoc or similar to read documentation of Perl6 as we know today ? 13:47
integral there is the Perl6::Bible package on cpan. there's also docs included with pugs
(Perl6::Bible comes with a perldoc-like viewer I believe, or something like that)
nothingmuch it's probably a wrapper 13:48
if i know ingy he didn't reimplement anything he could have reused ;-) 13:49
rindolf kane_: here? 13:50
gabor529: hi!
13:51 typonaise joined
nothingmuch home & 13:54
rindolf: kane_ hasn't ever really frequented this channel in terms of being chitty chatty
prolly better off finding him via email
integral only ever seen kane on the secret network myself 13:55
13:55 typonaise joined
gabor529 Perl6::Bible seems to contain Apocalypses, Exegeses and Synopses; actually even more than what I found on the pugscode 13:56
web site
it has a command line interface but only to read those docs in full 13:57
integral yes, the official docs aren't replicated into pugs' source, but they're on the perl6 website: dev.perl.org/perl6 13:58
gabor529 oups, I meant that dev.perl.org/perl6/doc/synopsis.html contains less synopses than the P6 Bible module 14:00
e.g. S27 S28 are in the module but not on the web site
14:01 Limbic_Region joined
gabor529 anyway, what I am looking for is typing "pugsdoc given" and see the documentation of "given" 14:01
is there a plan on how to do this ?
ingy hola 14:02
Limbic_Region gabor529 you mean like a keyword search?
salutations ingy
integral ah, yes, I think that's because S2[78] weren't originally products of @Larry
ingy :)
gabor529 Limbic_Region: searc, or fetch does not matter, though I think the current format of S-es does not let you fetch the keywords 14:06
rindolf ingy: hi! 14:07
gabor529 I am not following it but maybe similar to the X<> markup project of Perl5 14:08
Is there a plan in place where will the online documentation of Perl6 come from ? 14:09
ingy hi rindolf
rindolf ingy: what's up?
ingy: so did you work on IO::All after all?
ingy rindolf: Jemplate :)
rindolf ingy: what's Jemplate? 14:10
ingy rindolf: not that I recall
TT2 ported to Javascript
Limbic_Region gabor529 I wasn't exactly clear - I was trying to recharacterize your question in a way that made it a feature request
rindolf ingy: ah.
Limbic_Region with the perl5 perldoc - you either need to know what section to go looking for your keyword 14:11
ingy pretty much all of template toolkit
Limbic_Region or you need to find it using perldoc perltoc
I was suggesting perhaps pugsdoc be a bit "smarter"
gabor529 or you can use the index I created manually
Limbic_Region so who cares if you are looking for an operator or a function or a special variable - just show me the docs already 14:12
gabor529 or AFAIK some people are working on putting X<> markups in the per5 pods so one will be able to use that index
Limbic_Region: yes, that's what I am looking for / suggesting
Limbic_Region gabor529 - thought so. I second the request/suggestion as long as it doesn't involve volunteering 14:13
>:-)
gabor529 I thought of trying to do something about the issue but I don't want to duplicate effort
will the perl5 pod be refactored to perl6 or will that be written from scratch ? 14:14
rgs votes scratch 14:15
the P5 pod is not organized in a comprehensive manner 14:16
Limbic_Region seen luqui 14:21
hrmm
rgs ENOPURL ?
Limbic_Region gabor529 - at the most basic level, it should probably work like man -k <keyword> though I think it could likely be made better than that too 14:23
14:24 fglock joined
Limbic_Region salutations fglock - I hope you don't mind but I posted your p6 compiler in p5 news at the Monastery 14:25
fglock Limbic_Region: thanks for doing it - I hoped it would atract developers (it didn't so far) 14:26
at first I was thinking about posting the whole code to the monastery - but then it started to grow... 14:27
Limbic_Region huh - I am surprised, it got a high reputation for not being fp'd and I would think that people seeing an opportunity to work on p6 without needing pugs would have jumped
fglock fglock: now the compiler is bootstrapped, and most of the work is likely to be done in Perl 6 language (prelude, primitives) 14:29
14:30 pmurias joined, eric256_ left
Limbic_Region thinks it is really cool btw 14:30
fglock Limbic_Region: :) 14:31
pmurias svn: PROPFIND request failed on '/' 14:32
svn: PROPFIND of '/': 200 OK (svn.openfoundry.org)
integral Limbic_Region: you've mispelled "parrot"
kolibrie fglock: I have it on my list of 'cool things to look at' 14:33
diotalevi saw fglock's thing and just decided to look at pugs instead.
fglock pmurias: I'm getting problems with svn too
diotalevi But still can't make heads or tails of pugs :-(
Limbic_Region integral - huh?
you mean my svn up this morning? 14:34
integral Limbic_Region: your monastery post
the one you were just talking about
Limbic_Region oh
fglock diotalevi: I'm working on refactoring the files so the structure looks more like Pugs, so people can reuse the architecture docs
14:34 blm_ joined
Limbic_Region I confused what you were saying with pmurias - I got the same thing I think 14:34
pmurias does any whan know when fill subversion be up? 14:35
diotalevi shrugs. Pugs' organization isn't apparent either.
integral is there organization?
Limbic_Region integral - fixed (the link was correct)
pmurias s/whan/one;s/fill/will/
fglock integral: I didn't say "organization" :)
integral ;-) 14:36
diotalevi: there's a parser, an evaluator, and then lots of other stuff...
pmurias diotalevi: iterators_engine one is quite simple
diotalevi can't see pugs as anything other than a big tarball of unrelated source goo without some kind of README points like "this stuff is in foobar/", etc
And when reading a script, there's no description of what uses it or anything.
So every single thing is contextless. 14:37
It's a giant ball of goo.
Limbic_Region diotalevi - I think you would be a valuable asset to Pugs/Perl6/Parrot/Ponie but you seem to have 1 problem after another getting involved. Why don't you direct your problems to the appropriate lists so they can get resolved and you can start contributing?
integral diotalevi: avoid those bits, some bits are highly documented. Have you seen the haddocks?
diotalevi Lists? There are no lists.
People just point me here.
fglock diotalevi: iterator_engine is a miniature ball of goo :)
integral diotalevi: perl6-compiler is the compiler list
I'd certainly reply to posts there if people actually USED it
diotalevi perl6-compiler, meaning uh... parrot? 14:38
Limbic_Region diotalevi - perl6.language perl6.compiler perl6.internals
no - perl6.internals is parrot
integral no, parrot is perl6-internals. language speccing is over on perl6-language
perl6-compiler covers all the perl6 compilers, pugs, p6-on-p5, pge+etc
Limbic_Region and I have mentioned this (to you) before 14:39
diotalevi What's a haddock?
integral diotalevi: it's an equivalent of POD for haskell
Limbic_Region a kind of fish
fglock btw: there are many new files in /docs
Limbic_Region ducks
pmurias can one commit via svn.perl.org?
integral feather.perl6.nl/~bsmith/haddocks/ is a fairly recent rendering of HEAD 14:40
diotalevi Yeah... just being subscribed to one of those p6-whatever lists (I didn't realize you meant all the old lists) is a full time job.
integral pmurias: nope, that's just a mirror
diotalevi: perl6-compiler is very quiet, because people like you don't seem to want to use it.
Limbic_Region integral - in all fairness, it wasn't well advertised
fglock integral: I prefer to ask things here, it just works better for me 14:41
diotalevi So is haddock just an improved pod or is it radically different? 14:42
theorb It's different in some fairly important ways.
integral tbh it's probably closer to javadoc; since haskell is "easy" to parse, it can show the descriptions of functions against the functions along with their type signatures 14:43
theorb The most important one is that because haskell is typed and mildly sane, it can generate some documentation all by itself.
diotalevi Foo. 14:44
I didn't want sane, I just wanted something not terribly different.
theorb I only said /mildly/ sane. 14:46
Anyway, that's haskell that's mildly sane. Haddock is pretty much equally as insane as POD. 14:47
pmurias fglock: do you have any commits pending, because i'll try to refactor &emit_rule
fglock putter: re "why Common is better under x" - i_e is a subproject of pX which is a subproject of Pugs - things could be flattened a bit
diotalevi feels bad now that he's found some useful READMEs further down the directory tree. 14:48
fglock pmurias: I did a commit about 10h ago - I'm working on the docs now, so go ahead
diotalevi: you should feel good :) 14:49
pmurias: there is a test list in the README - just copy and paste in the command line, and can run all tests before committing 14:51
14:56 vel joined
audreyt Limbic_Region: after r9294, I think the slowness on win32 (or indeed anywhere) from running ./pugs should be gone now 14:58
pmurias fglock: thanks, i'll create a script out of them 15:00
is it ok, to merge rule and code nodes in the same namespace
fglock I'm translating 03Evaluator.pod to i_e land - I hope it helps understand the code
Limbic_Region audreyt - I got it to run "fast" by making everything below the build directory writeable - haven't tried a build since yesterday early afternoon EST though 15:02
audreyt Limbic_Region: oh ok... hmm maybe we should warn for nonwritables
Limbic_Region and why do I always want to type your handle audrety instead of audreyt?
pmurias perhaps you should change the name, i_e has bad associations
fglock pmurias: re merging - maybe - I'm not sure about that - is it oversimplifying things? It could make refactoring rules in a separate package more difficult
15:03 svnbot6 joined
fglock pmurias: would you suggest a name? 15:03
audreyt (-w check on util/gen_prelude.pl line 99 would work)
Limbic_Region audreyt - IMO, the system should set sane filepermissions and ACLs and the install/configure should only overide that which is necessary
but that's just me
I was a bit suprised to find that blib6/lib/Test.pm was read-only
audreyt it really shouldn't be. mmmm 15:04
Limbic_Region right
integral *blink* I'd have said it should be, since it's a copy of a source file, thus preventing silly editing mistakes
fglock all: would you suggest a cool name for 'iterator_engine'?
Limbic_Region and fwiw - I don't think pugs -e "use Test;" is working quite right
on Win32 - at least it wasn't as of the same time frame yesterday 15:05
audreyt integral: well, true.
Limbic_Region: it worksforme at this moment on fbsd
Limbic_Region: how does it not work?
Limbic_Region well there are 4 ways to run it 15:07
pugs -e "use Test;" (with and without blib6\lib\Test.pm being writeable)
pugs -Iblib6\lib -e "use Test;" (with and without blib6\lib\Test.pm being writeable)
pmurias fglock: that doesn't mean they will have to stay in the same file
Limbic_Region IIRC, only 1 of the 3 produced 0..1
pmurias they could also share the emit routine then
parrot does that also 15:08
audreyt Limbic_Region: ahh. very acute
indeed that is the case.
Limbic_Region audreyt - I am not good for much, but I can break things pretty good 15:09
;-)
audreyt somehow END block has been disabled 15:11
fglock pmurias: yes, it is ok!
audreyt will investigate.
bbiab...
Limbic_Region s/1 of the 3/1 of the 4/ 15:13
pmurias fglock: any way it can be changed later with a couple of lines
svn works, hooray!!! 15:19
theorb Hm, it doesn't for me. 15:20
pmurias fglock: I'll remove the iterator_engine prefix,i think it's not nessesary now 15:22
fglock pmurias: nice!
15:23 FurnaceBoy joined 15:27 fglock left
svnbot6 r9294 | pmurias++ | shorter names achived by removing the unnecessary prefix 15:39
15:40 kanru joined 15:45 justatheory joined
pmurias perlbot: karma pmurias 15:48
perlbot Karma for pmurias: 1
16:02 eric256 joined 16:05 nothingmuch joined
nothingmuch hola 16:05
FurnaceBoy ola 0m 16:06
eric256 hey. i had an idea last night. and it might not be a good idea but i'm gonna share anyway. lol 16:09
bug tracking in pugs is kind of difficult. especialy for those of use submitting bugs. i can't even remember which tests i've added, and I never know when they are completed. what if we had a site like bugtraq, but where you had to submit a set of tests. the software could log who added them, allow people to subscribe to bugs, and alert people when they are fixed, and it could record the person who submitted the patch that made it work, and alert them if 16:11
kolibrie nothingmuch: good morning/evening 16:12
rindolf nothingmuch: welcome back
OK, I'm going to try sending kane_ an email. 16:13
rgs isn't there a rt queue for pugs ?
rt.cpan.org/Dist/Display.html?Queue=Perl6-Pugs 16:15
eric256 it doesn't appear that that is active...last entry is 9 months old 16:16
16:17 Aankhen`` joined
eric256 plus i was thinking of integrating the actual tests. so that it could automaticaly determine when bugs are fixed or broken agian. 16:17
integral eric256: an idea (but probably not a _good_ idea): put some kind of annotation in comments against the tests, and have a script that pulls the comments out creating a HTML page
16:18 justatheory joined
eric256 yea we have that already, but that doesn't provide any type of subscriptions. which is more what i'm interested in. i would like to see what bugs tests i've added, and there progress, and maybe which ones i've fixed and see if they break agian. 16:18
16:18 mj41_ joined
Limbic_Region integral better idea (but probably not the best) is to have a INI style config file that associates a bug number with a short label with a list of associated tests 16:18
eric256 although i do want to restart the annotated tests, since i can't seem to find that running anywhere anymore 16:19
integral Limbic_Region: but how do you identify a test uniquely? test files move around, subtests get renumbers if you add tests above them
I find the current smoke reports fairly unreadable, maybe just an optimised format of them that just lists test failures, too? 16:20
Limbic_Region integral - err um yeah
eric256 maybe we could updated the Test module to allow unique identifiers and report those on failure and pass. then a third party system and documentation could be tied to them
FurnaceBoy plus it could flag regressions. :)
eric256 yes a quick summary with regressions only would be nice. easy to see if you broke anything that wasn't already broke 16:21
maybe a flag like :todo could be added? :guid(asdfasdfasd) and a site to register IDs + documentation + owner? 16:22
then old tests stay as they are...but we could improve the way new tests are made? and quick tests could still just be quick tests with no IDs
integral hmm, to be really fancy it could work over multiple smoke reports and tell you at what rev that test started failing
eric256 hmm. just record the last revision it passed for and you know when it started failing. thats pretty simple logic 16:24
integral goes to do his real work before he speculates too much 16:25
eric256 is there a wiki where this kind of stuff could be tabled, to let it simmer some?
FurnaceBoy well! the halfbakery! 16:26
:-)
integral eric256: pugs.kwiki.org
theorb Hm. This isn't the first time something like this has come up. 16:27
eric256 cool. i'll post some stuff there and work on getting cd pugs
16:27 fglock joined
eric256 oops. wrong window. ;) 16:27
16:46 kisu joined 16:55 didie_p6 joined
svnbot6 r9295 | fglock++ | iterator_engine - added: TASKS and ChangeLog 17:07
r9296 | fglock++ | iterator_engine - fixed required file names 17:08
eric256 anyone around here interested in helping document/cross link tests? i have feather.perl6.nl/~eric256/t_index/ going but it would nice to have someone help make it pretty. lol ;) 17:10
17:11 ghenry joined
svnbot6 r9297 | putter++ | Regexp-ReplaceEngine.pm project un-abandoned. Moved from Aside/ back to Common/. 17:20
r9297 | putter++ | It's just too tempting. Even if it still looks like the the last mile to p6 regex support would require perl5 core patches.
r9297 | putter++ | Use of regexp struct is now much more principled. Exec hook return value now determines match success/failure. $1 support is still a work in progress.
17:22 lypanov joined
svnbot6 r9298 | fglock++ | iterator_engine - moved all random notes to 'Notes' 17:23
17:26 vborja joined
fglock putter: does $1 lives in the normal lexical pad or is it localized? (maybe PadWalker helps?) 17:27
rgs in perl 5 ? 17:29
in perl 5, it's neither
$<digit> are extracted from offsets stored in the current lexical latest regexp match
via variable magic
fglock rgs: ok 17:30
gaal yo 17:35
fglock gaal: hi
gaal hey fglock
rgs hi crowd 17:36
gaal putter, could you summarize what Regexp-ReplaceEngine.pm is? 17:37
seen bsb
lumi: ping
fglock gaal: it is an extension to p5 that replaces regex with rules 17:38
rgs that scary thing is interesting nonetheless
gaal fglock: that is, at the syntax level, so that /a/ invokes the rule engine?
rgs is easily scared
gaal that, like, breaks everything :) 17:39
integral is that a rules engine with a p5regex parser on top?
theorb Um, is it lexically scoped?
Is it possible to make it pass-through if the regex has a /5 modifier, or even better, unless it has a /6? 17:40
Limbic_Region is lumi luqui?
fglock theorb: I think it could be made 'local' - lexical is even more difficult 17:41
gaal Limbic_Region: no.
Limbic_Region and if not, anyone seen luqui?
rgs I'm not sure you can have different engines concurrently in p5
Limbic_Region seen luqui
apparently isn't working
gaal lexical is quite problematic in p5.
theorb local would at least be reasonably sane.
17:43 kane__ joined
Limbic_Region oh - and anyone know why my Win32 build at work fails with a zlib error? I thought that was fixed already (my home Win32 build works) 17:45
17:48 Kattana joined
eric256 is there a way to run the tests and exclude the tests in the ext directory? 17:49
gaal eric256: yes, there's an env var 17:50
I forget what it is though :(
grep EXT util/*
eric256 cool i'll go hunting.
gaal Limbic_Region: trying to reproduce your problem, may take a while.
bbiab & 17:51
eric256 just for my test/documentation cross reference i don't need the modules tested and i'm sure thats a significant chunk of time its spending 17:52
do i need to do something to force it to compile Test.pm to yml or is it doing that automagicaly? 17:53
17:53 pdcawley joined
Limbic_Region gaal - AFAICT, it is not happening on all Win32 platforms as the behavior at home disagress with the behavior at work 17:54
eric256 gaal looks like PUGS_SMKOE_EXCLUDE_EXT does it 18:03
nothingmuch Limbic_Region: why do you need luqui? 18:08
Limbic_Region nothingmuch - there was a question posted at PerlMonks specifically about one of the modules he created in support of Perl6
was going to point it out to him
oh, but I see you have already replied to that thread 18:09
nothingmuch Limbic_Region: already answered ;-)
yes
he is kind of... err
*poof*
i've only seen him blogging lately
Limbic_Region ok - perlmonks.org/index.pl?node_id=534671 in case anyone else is interested
nothingmuch even his ail is bouncing =(
Limbic_Region blogging where? 18:10
gaal Limbic_Region: gzip worksforme on win32 w/native perl and vc toolkit. If you can reproduce this, please pack up as much info as you can.
Limbic_Region gaal - I can nopaste the results of nmake
18:10 putter joined
Limbic_Region but it boils down to zlib.h being missing 18:12
gaal Limbic_Region: did compress::zlib pass tests on that system?
Limbic_Region gaal - take a step back 18:13
gaal ?
Limbic_Region I am not sure compress::zlib is even installed on this machine
if it is a dependency requirement then perl Makefile.PL should have yelled that the system wasn't ready
gaal are your errors happening in build time?
Limbic_Region perlbot nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
nothingmuch Limbic_Region: luqui.org
Limbic_Region yes gaal
gaal ah.
Limbic_Region thanks nothingmuch
nothingmuch anyway, back to my haskell
gaal nothingmuch: do you have that bielkish arrows paper? 18:14
pasteling "putter" at 66.30.119.55 pasted "some recent make test results" (48 lines, 2.8K) at sial.org/pbot/16180
"Limbic_Region" at 129.33.119.12 pasted "Win32 build errors for missing zlib.h" (36 lines, 3K) at sial.org/pbot/16181
Limbic_Region gaal - that's not everything but that should be enough to make it clear
18:15 bd_ joined
putter gaal: is compression really needed at this point? at least on my machine, it doesnt seem to speed things. and we can spare a couple of meg for a while until things settle down. no? 18:15
gaal putter: sure 18:16
Limbic_Region gaal - IOW, I associate perl Makefile.PL with ./configure and if my system doesn't have everything it needs this is the point it should yell at me
gaal Limbic_Region: it's optional.
Limbic_Region: but something defined USE_ZLIB apparently for you
nothingmuch gaal: no
gaal nothingmuch: too bad :) 18:17
putter: it *should* degrade gracefully
putter thinks he chose an insufficient degree of insanity - pictured nm starting real caching scheme rsn - how about yml creation is _always_ attempted (no file-writable so dir-writable proxy test). and builddir/blib6/lib added to end of @INC. then everyone is zero-effort happy.
nothingmuch gaal: ping shapr
i think
i don't know what bielkish
means
Limbic_Region gaal - oh, well then - in that case "shame on it" 18:18
gaal nothingmuch: you know how Template::Tookit and Template::Extract are sorta the same thing in reverse?
nothingmuch yes 18:19
Limbic_Region gaal - I will investigate to see what incorrectly set USE_ZLIB
nothingmuch and that Template::Generate...
Limbic_Region thanks for the pointer
gaal nothingmuch: so if I read the abstract correctly, this is a way to get a parser and a pretty printer with one effort.
among other similar problems.
nothingmuch hmmm
could be
gotta grok arrows first though ;-) 18:20
clkao mmm 18:21
clkao:~/work/pugs clkao$ ./pugs -Iext/Test/lib -e 'use Test; say 1'
*** Cannot parse PGE: [^-_a-zA-Z0-9\.\/\\\:]
i thought that should be perl5 rx?
why is it trying to find parrot
nothingmuch clkao: because svk is broken
;-)
clkao huh? 18:22
nothingmuch just kidding
i'm in a silly mood
gaal Limbic_Region: thanks, i've got my hands full right now
Limbic_Region gaal - basically it tries to compile a mini Haskell program with IO (presumably that requires zlib) and if that works it assumes it is ok to use 18:23
Limbic_Region moves on to step 2 (why it is succeeding when it shouldn't be) 18:24
gaal Limbic_Region: ah! ping bsb then, I think he had something to do with it 18:25
svnbot6 r9299 | putter++ | Prelude.pm - yml compilation is now attempted on _all_ use/require. Simpler, lower burden on current users/developers, and we'll deal with issues as they arise. The current scheme is explicitly just a starting point - someone still has to write the real caching system.
gaal better yet, just fix it :)
putter: whoa, does that parse once or twice?
Limbic_Region gaal - when I find what's wrong or isolate it as far as I can - I will
18:25 amnesiac joined
gaal putter: also, I'm reluctant to do that until there's a way to check for incompatible pugses 18:26
putter gaal: the compile to yml, and yml load, is faster than a strait load .pm, at least on my machine. something like 14 vs 20 sec or something vaguely like that for Test. 18:31
clkao putter: i think the regex in prefix_m is doing something weird
putter gaal: re versions, r9299 is orthogonal to that. all r9299 is remove the silly "all use/require, _where the .pm file is writable_" wriablility caveat. 18:32
clkao whoot. how would that be faster?
putter any versioning problems you have, you have already ;) 18:33
clkao: you mean yml?
gaal putter: ? do we always precompile already? that's bad. 18:34
clkao compile/save/load faster than laoading pm directoy
Limbic_Region gaal - ghc is find the z lib without the header file - still looking into as why though
putter if my fuzzily remembered numbers are right, 20sec load Test.pm becomes 14(?)sec create and load TEst.pm.yml, and on subsequent use 2sec load Test.pm.yml.
gaal clkao: if you're parsing already, the emitting isn't that slow 18:35
putter: that doesn't make sense
putter I've no idea why its actually faster to create and load yml than to just load the .pm.
gaal putter: how can parse + emit be faster tan only parse? :)
putter gaal: right
eric256 yea, how can parsing and emmitting as yml be faster than just parseing ? doesn't it have to load the .pm in order to create the yml?
gaal strange bogons detected! 18:36
gaal really needs to do some house chores
have fun everybody :)
&
putter I'm merely reporting the numbers I saw. Not explaining them. :) 18:37
eric256 watches feather smoke pugs and take 30+seconds per file.....that is going to take a while
putter If I had to hazard a random explanation, i'd suggest a change in memory usage patterns, or putter made a mistake. ;) 18:38
eric256: that sounds like it's not using blib6/lib?
gaal: wait! :) 18:39
eric256 yea i'm thinking i might need to dump all my feather account pugs builds and start from scratch
svnbot6 r9300 | fglock++ | iterator_engine - cleanup
Limbic_Region gaal - figured it out but not how to fix yet 18:41
18:43 dduncan joined
putter sees gaal already added blib6/lib to the compiled Prelude search. so adding it to the universe would only... would have no affect. so that's done. 18:44
18:47 TimToady joined
nothingmuch jumps up and down at remembering what he was going to do 18:47
Limbic_Region ok - so if I know what is wrong but not how to fix - how should I report it?
pasteling "putter" at 66.30.119.55 pasted "time numbers" (21 lines, 431B) at sial.org/pbot/16183 18:50
Limbic_Region ooh - and apparently copying the header files from cygwin made it "work"
putter That particular test pattern will of course not work post 9299, in which the writablility test went away. 18:51
18:51 penk joined 18:53 awwaiid joined
putter eric256: oo, very neat :) # re t_index/ 18:53
fglock: re flat, ah. yeah. no good story for that. put a i_e dir directly in pX perhaps? 18:55
fglock putter: about pX/* - do you think it should focus first on (translate to low level perl) or (everything is a well-behaved object) 18:56
pasteling "Limbic_Region" at 129.33.119.12 pasted "zlib still broke on Win32" (21 lines, 775B) at sial.org/pbot/16184
Limbic_Region gaal - I have nopasted the problem description along with 2 possible courses of action for correction
18:56 KingDiamond joined
Limbic_Region I will also /msg audreyt and bsb the link 18:57
putter fglock: re $1, it's not pretty. you set up a C struct named regexp, which lots of parts of perl assume they know the layout of parts of, and try to match their expectations sufficiently for them to do their usual (eg, set $1) thing. $1 is actually created, at regexp compile time, by something that looks at theregexp->nparens and adds that many $digit's. ;) 18:58
fglock putter: a straightforward translation could reuse Perl6:: modules, but there are some limits how far it can go; otoh, it would execute faster
19:00 lypanov joined
putter gaal: re Regexp-ReplaceEngine.pm, perl5 has C hooks to control which C func gets called when a regexp is compiled, and when executed. so you can swap in callbacks to p5 subs, in place of the original p5 regexp engine. Those subs can do something like the regexp-spike. Since the hooks themselves are reentrant... hmm... 19:01
they better be... something to check... one could transparently swap p5's normal engine for the regexp-spike, gaining reentrancy, and p5 subrules. It also provides a way to work around the longstanding p5 problem of not being able to create a QR object, which "overloads" =~ and is usable ob split,etc. It's a mechanism by which p6 code can pretend to be a native regexp. That, 19:03
19:04 bernhard joined
Limbic_Region did I miss something or does that imply that a replacement regex engine could be made to be re-entrant? 19:04
fglock putter: the "everything is an object" approach makes for a compiler with reusable components - in case it goes all the way to rewrite the compile in Perl 6
s/compile/compiler/
putter plus source filtering, gets you pretty close to being able to p6 syntax regexps on p5 in a transparent-to-human-coder manner. it still doesnt get you $/ or $0, unless the user takes steps to prep them (you can set them if they are preped) (the problem being the source filter cant reasonably understand context well enough to find a place to drop in the preping itself. i think.). Nor 19:06
pmurias fglock: got to test 33 of p6rule.t with the refactoring... 19:07
test-driven-development++
fglock pmurias: :) 19:08
putter Nor does it get you Match objectness on $1 etc, beyond ~,+,-. Hmm, oh wait, No, you can get $0 (ie, do $n to $n+1 renaming). it's just the lexical scope preping you can't do for $/. I think that's it. Sigh. Should have written out my notes. ;) 19:09
fglock putter: $0 is free to use: perl -e ' $0->[1] = "abc"; print $0->[1] ; ' 19:10
putter fglock:re $0, neat 19:11
TimToady Unfortunately, setting $0 is apt to write random things to the command area that "ps" sees. 19:12
19:12 ruz joined
putter fglock: re low level vs well behaved, 19:12
TimToady: does the usual trick of local *0 = *whatever; break the magic? 19:13
(if you don't know, don't bother to test, I can do that as it arises)
TimToady probably not, most magic travels with the variable, not the value, if I recall. Could be wrong.
If you're gonna use source filter anyway, I'd just throw a "my $SLASH" at the front of every sub... 19:14
putter fglock: how about which ever is... excites people more? something rapidly working-ish is probably more valuable than something more correct. we've had correct, pil2js and sortof pilrun. didnt seem to excite people. attracting/exciting people is arguably the primary need at the moment. how's that thought? 19:16
TimToady: interesting thought :) 19:17
TimToady or maybe even "my %P6PAD" to generalize it. 19:18
fglock pmurias, TimToady - if you were to work on a p6-to-p5 compiler, would you choose 'fast' or 'correct' first? 19:19
TimToady depends on what you want it for. you get a different answer for bootstrapping vs emulation
putter TimToady: err, $1 is localized to the sub level now, rather than the block (like p5)? 19:20
perl -e '"a" =~ /(.)/; { "b" =~ /(.)/ } print $1,"\n";' => 'a'. which a sub-level $SLASH won't help with. 19:21
I was assuming it would be too problematic for the source filter to try and find blocks.
TimToady $/ is lexical to the sub like $_ ,but then we do have to play trickes with defaulting OUTER::<$_> for inner blocks, so maybe something similar for $/...
putter hmm... 19:22
fglock TimToady: re bootstrapping vs emulation - I'm trying to find out which to do. Bootstrapping is fun, but emulation could be useful in the short term 19:23
TimToady well, you should never think about perfection and source filters at the same time.
putter fglock: here's a different, oft useful argument ;) - "quickly get something working". take whichever approach, or a hybrid, which gets you that property. then adjust from there. :)
:) # re filters 19:24
fglock putter: oh, I got somewhere - I'm trying to find out what to do next (I'm actually fighting burnout)
putter ahhh
hmm...
19:25 szabgab joined
putter oh, that makes it really easy - which ever makes you less burned out? ;) 19:25
TimToady personally, I'd aim for the bootstrap, and if we have to write
"funny" code to use it, that's okayish. 19:26
fglock putter: :)
TimToady: ok - this helps!
putter fglock: what are some possible milestones one could imagine reaching for? 19:27
fglock for example: I could implement 'if' very easily in perl5, but implementing with a Perl 6 macro is more correct-ish
putter: the compiler is not OO, so we don't need that in the bootstrap 19:28
so implementing closures, hash, array should be ok
operator precedence isn't important right now 19:29
putter 's next question will be "what is the _simplest_ approach you can imagine?" 19:30
fglock "_simplest_" - keep writing nodes in perl5; "right" - start writing Perl 6 from this point 19:31
however, nodes can be migrated to Perl 6 later, now that we know how to do it 19:32
putter is a great fan of simple
fglock maybe next step: rewrite iterator_engine.pl in simple-Perl6, and struggle to compile it to Perl5 19:33
pmurias why is it called the iterator_engine, there are now iterators involved (at least I can't see any) 19:34
s/now/no/
putter hmm, another thing one might do is step back, and try to come up with a list of _other_ things you might be working on/towards. because it's not only is this useful in itself, but is it the most useful thing you can think to do at the moment
TimToady Another thing to bear in mind is that it *is* possible to tweak the semantics of the perl5 engine if necessary.
fglock pmurias: because we needed a name, before the program was ready :)
putter didn't the early versions actually use iteration? 19:35
TimToady as long as we can arrange some way to keep such tweaks lexically (or application-ly) scoped, it shouldn't hurt existing Perl programs.
pmurias 'continuation engine' or 'exceptuation engine' would be cooler still,and we would have a better acronim :)
TimToady source filters are just one way to do a lexically scoped semantic change. 19:36
putter so, a possibility of p5.9+ getting backwardsly-compatible patches to better support p6-ish-ness... interesting... 19:38
19:38 Daveman joined
fglock is there some CPAN module that implements a hash that behaves something like a pad? we could use it for implementing lexical subs for example 19:38
TimToady Yes, especially if scoped lexically via %^H modifying pragms. 19:39
fglock pmurias: each node is actually a state machine
gaal what ever happened to MJD's pragma patch? 19:40
fglock s/each node/each node in a rule/
19:40 Daveman left
TimToady gaal: dunno--I only ever heard about it second-hand--never looked at it. 19:40
pmurias fglock:I sort of understand now :) 19:41
gaal it's really elegant. (in taking advantage of the parser<->evaluator chumminess of p5)
webmind .win 3 19:42
oops
gaal wanders off to entertain a guest 19:43
webmind hf
putter fglock: search.cpan.org/~mneylon/Tie-Hash-S...9/Stack.pm ?
19:44 larsen joined
fglock putter: exactly! 19:46
clkao is it just me, or are other people seeing Data.Yaml.Syck being recomplied everytime
integral clkao: that's intentional. 19:48
it works around some bug
clkao ok
putter search.cpan.org/~jdhedden/Object-In...sideOut.pm ? ;) 19:50
putter leaves search.cpan with his usual feeling of "there may be more in there, but...". 19:54
hmm, here's an idea,
clkao putter: ok. so what should i do to make pil2js work with new use/require prelude? i lost track 19:56
svnbot6 r9301 | fglock++ | iterator_engine - more random Notes
putter cpan-net. build a weighted graph of relatedness between cpan modules. perhaps as a weightable combination of multiple such graphs. eg, the See Also links get a graph, and generally a hightly-weighted-in-composite one. use() creates another, etc.
putter goes to look at pil2js error message... 19:57
oh, fribble. 19:59
No such method in class Str: "&use"
let's see..
clkao there seems to be some path issue 20:00
clkao:~/work/pugs clkao$ time ./pugs -e 1 20:01
real 0m2.515s
but:
clkao:~/work/pugs/perl5/PIL2JS clkao$ time ../../pugs -e1
real 0m11.965s
integral what about time ../../pugs -I../../blib6/lib -e1 ?
clkao taht works :) 20:02
fglock bbiab
clkao putter: so perhaps switching the whole prelude system in pil2js to use the yml one directly? 20:03
putter clkao: is that a current pugs? it seemed from Run.hs like gaal tried to make pugs look for blib6/lib... oh, maybe only ./blib6/lib? hmm... 20:04
clkao ya, current. perhaps it should find from relative to where the bin is 20:05
putter clkao: I think its more a PIL1 with macros in Prelude.pm issue
clkao: yes, I think that would be a nice short-term behavior
the thing is, pugs -CPIL1 -e '...' is avoiding using the prelude, so it doesn't get the use/require macros now defined there. 20:07
the regex macros in prelude work because the parser knows about them (as "maybe-macros":), so they show up in PIL1 as subcalls if the prelude isnt seen. 20:09
and we are of course bypassing everything the parser thinks it knows about use/require... 20:10
curiously, ./pugs -CPIL1 -e 'use 6; say 3;' works. whereas ./pugs -CPIL1 -e 'use Test; say 3;' doesnt (the problem) 20:18
clkao: so, sorry for the mis-guidance. the problem is pugs-side. and it's puzzling. 20:19
clkao mmm
putter I bet it would still work if the use/require op1s in Prim hadnt been renamed. I originally just added the new names (Pugs::Internals::use/require), but Prelude.pm still cant/doesnt override Prim's - you dont get the macro. 20:22
s/still/macros still/
FurnaceBoy heh, I just stumbled on this. pugscode.org/images/timeline.png 20:26
20:26 KingDiamond joined
putter hmm, maybe have a fix... 20:28
szbalint the t-shirt version is quite popular afaik, FurnaceBoy 20:29
:P
svnbot6 r9302 | pmurias++ | * some refactoring of &emit_rule
r9302 | pmurias++ | * unfortunatly becouse of the namespace clash between &literals
r9302 | pmurias++ | they use packages node2:: and node::
r9302 | pmurias++ | * &emit and &emit_rule are yet to be unified
r9302 | pmurias++ | * updated patches in other files
r9303 | audreyt++ | * Limbic_Region++ reports that on Win32, libz is actually
r9303 | audreyt++ | bundled with GHC. Whew. Probably all we need to do is
r9303 | audreyt++ | adding a zlib.h to src/cbits/ to get zlib support on all platforms.
Limbic_Region audreyt - if you aren't coding in your sleep again, I have confirmed the zlib.h and zconf.h that come with cygwin work just fine 20:31
audreyt Limbic_Region: can you try the version in r9304? 20:32
Limbic_Region audreyt - not ATM 20:33
this machine only has 256 MB of memory and takes a LONG time to build from scratch
but after it is done I will remove the two z header files from ghc_root\gcc-lib\include and svn up and doing an incremental nmake 20:34
svnbot6 r9304 | audreyt++ | * ...and it seems we need zconf.h as well. :-)
r9304 | audreyt++ | Limbic_Region++ again.
Limbic_Region if that sounds reasonable
audreyt Limbic_Region: sure, but kill dist\build\src\Data\FastPackedString*
before incremental build
Limbic_Region and before svn up I presume
audreyt no diff 20:35
Limbic_Region oh wait, just before incremental build
audreyt yup
eric256 returns to find his smoke run on feather still!!! running. lol
Limbic_Region might take a while - the more stuff I have running while it is trying to build the longer it takes (and chatting here is something)
audreyt - did you find/figure out the pugs -e "use Test;" problem? 20:36
putter Limbic_Region: at some point it started working for me. not for you? 20:39
Limbic_Region putter - as I explained to audreyt earlier, there are 4 ways of running it and only 1 of the 4 produces the correct results 0..1 20:40
pugs -e "use Test;" (with and without blib6\lib\Test.pm being writeable)
pugs -Iblib6\lib -e "use Test;" (with and without blib6\lib\Test.pm being writeable)
20:40 Daveman joined
Limbic_Region I haven't been able to confirm behavior as of latest build because it is still recompiling 20:41
but audreyt did confirm it several hours ago
putter hits Makefile change, universe recompiles... 20:45
Limbic_Region 's univers takes a long time to recompile 20:48
20:51 nnunley joined
eric256 's pugs takes a long time, i would hate to see how long my whole universe takes. ;) 20:54
putter re 4 ways, well writable is gone, so 2, and one wouldnt expect to find Test at all without telling it where (-I), so one. hopefully it's the one you want. ;) 20:55
fglock I need some help with pugs syntax: is '$a=shift;' wrong (meaning shift @_)?
eric256 pictures a fatal error in a universal nightly backup that cause the whole of existance to reboot at midnight, like a universal ground hogs day. lol
fglock also: 'return sub {...}' is giving an error
unexpected "s"
20:56 hexmode joined
Limbic_Region fglock IIRC, that should be valid (but discouraged) syntax 20:56
eric256 return sub { ... } works fine here
Limbic_Region the return sub thing could be tickling a bug I reported a long time ago
fglock eric256: thanks - it might be an undetected error inside the block, then
Limbic_Region: ? 20:57
Limbic_Region fglock - the error I reported (and provided a test case for) had to do with parsing (what was around the return)
eric256 open quote in the sub produces the error you got
Limbic_Region shift @_ should still work but named arguments is the preferred way to go
i.e. sub ($a) { ... } over sub { $a = shift } 20:58
fglock Limbic_Region: I'm using the simplest language possible, in order to bootstrap the compiler :)
I'll fix it later 20:59
Limbic_Region so for question 1 - I think $a = shift is still valid in p6
return sub { ... }; should also work but may be a pugs specific error
eric256 any parse error in the ... causes that error to happen 21:00
fglock eric256 - right - I've found it - thanks!
putter Limbic_Region: ah well. right. no "1..0" with yml. a "yml not doing quite the right thing" problem. gaal said something about a Pad mumble mumble and audreyt.
Juerd fglock: What debian package is that? I just use perl -ne'tr/\r//d' $filename 21:01
Limbic_Region putter - and audreyt said something about END blocks getting disabled but I didn't know if it was related
Juerd gaal: pong
Limbic_Region eric256 good to know - I would have thought it was a different bug that produces the same error
putter Limbic_Region: that would do it. my fuzzy recollection is Test uses an END{...} to print its summary. 21:05
does anyone remember the syntax for code-returning macros? 21:06
audreyt q:code/.../
fglock Juerd: np - tr/\r//d fixed it!
putter audreyt: tnx!
pmurias could the return-block-hack be put inside the closure node handler? 21:07
fglock audreyt: q:code/.../ is just a quote-operator, or does it set something in the string? 21:08
putter ./pugs -e 'macro f(){ q:code/say 3/ } f();' => unexpected / what am I missing...?
fglock pmurias: I think it will be moved to a separate place, just for 'hacks-to-be-fixed' 21:09
pmurias: so we have a clear separation between good code and hacks
audreyt putter: ho hum. actually it seems we only hacked together the {} form. hence:
q:code { ... } # note the space
putter ah, tnx. 21:10
audreyt q:code(:COMPILING){ ... } # use this if you need to refer to late-binding variables
Limbic_Region audreyt - not sure this compile will be done before I go home, but I will be sure to test it in the morning
audreyt - should I also test the pugs -e "use Test;" stuff or is that still in the works?
audreyt Limbic_Region: that's I think still to be solved 21:11
I'm repairing "make ghci" to make debugging easier
Limbic_Region ok - cool 21:12
even as a casual observer, I like to feel useful ;-)
audreyt Limbic_Region++ 21:13
putter ok, this is too weird. 21:15
svnbot6 r9305 | pmurias++ | renamed literal in rules to constant
r9305 | pmurias++ | merged node2 into node
21:15 penk joined
putter here's my understanding of what's going on with use/require. 21:15
in real p6, one would write macro use is parsed (/use .../){...} 21:16
we dont, have "is parsed" macros yet. but macro use($module) {...} is working.
because the parser knows about use(), and is building an App tree for us, which at runtime, gets looked at, and the macro applied _then_. I think. 21:17
fglock putter: we do have "is parsed" macros :) 21:19
putter but for -CPIL1, with the op1 "use" in Prim renamed to op1 "Pugs::Internals::use" (because the ops have a higher priority in parseTerm than ruleApply (function app) does, so if the op1 is still there, the macro doesnt get applied (I believe - that's worth a recheck now that things are "working"), the use Foo gets interpreted as
21:19 SamB joined
svnbot6 r9306 | fglock++ | iterator_engine.p6 - partial translation (by hand) of iterator_engine.pl 21:20
r9306 | fglock++ | to Perl 6 - the next milestone could be: compile this back into Perl 5
putter a method call (I'm not sure where that happens, parser has a place for it, but we should be past that, no?), and PIL generation goes boom.
eeep.
fglock: in pugs? 21:21
fglock putter: in i_e - I worked on it all over the weekend :) 21:22
putter and actually, going boom is unsuprising, given the the use/require macros aren't returning anything plausible. they only work in normal pugs based on sideeffect.
svnbot6 r9307 | audreyt++ | * Makefile.PL: repair "make ghci" for real.
putter fglock: :) :)
eric256 i_e ? 21:23
21:24 Limbic_Region joined
pmurias iterator_engine 21:24
eric256 iterator_engine i'm guessing... sorry little slow
putter no, I'm confused, separate issues. PIL1 go boom because the prelude macros arent there, and use() gets misinterpreted as a method call on Str.
eric256 so i_e compiles p6 into p5 completely independent of pugs? all in pure perl5
fglock eric256 - yes 21:25
eric256 crazy. i'm assuming its not as feature complete as pugs?
pmurias no yet
21:26 dduncan left
fglock eric256: not at all - it has not even completed a month of life 21:26
eric256 sure make excuses ;)
Limbic_Region eric256 - it might be a good idea to figure out what it is all about and do an advocacy post at the Monastery 21:27
eric256 hehe hsounds like homework. ;)
Limbic_Region I don't think people comprehended my post echo'ing the announcement
eric256 i know i didn't
fglock eric256: it 'learns' how to compile perl6 from a grammar, which is written in perl6 itself. we've got a lot to write yet
eric256 i couldn't even barly find your post l~r even though i knew it was there
Limbic_Region doesn't know enough about it to make a qualified advocacy post but I can sure comprehend the implications
pmurias seperated return_hack to a sub 21:28
svnbot6 r9308 | pmurias++ | seperates return_hack into a sub
21:28 justatheory joined
pmurias move to a different file *evil grin* 21:29
?
Limbic_Region grrr - swapping sucks
but I guess it beats the alternative (running out of memory and dying)
eric256 so is there an official p6 grammar project that this works off of?
svnbot6 r9309 | audreyt++ | * sweeping warnings fix on unused imports and functions.
fglock pmurias: maybe - the immediate plan is to just work around things that would take too much time to implement
rafl seen Juerd
putter woot. pil2js prelude compiled. 21:30
Limbic_Region thinks the seen bot is b0rk rafl
fglock eric256: no, it's being written out of the synopsis, mostly
putter less woot - ugliest hack imaginable
pmurias hacks.pl or evilhacks.pl
rafl Too bad
fglock pmurias: p5hacks.pl ? 21:31
putter rafl:
pmurias nice
Limbic_Region putter - in order of importance (something that works, something that is manageable, something is fast) though items 2 and 3 can swap place depending on overall objectives
so I would say great job of step 1
fglock pmurias: well documented, so that we know why they are there (and a possible solution, if any) - I think this makes them less ugly :)
Limbic_Region decides to head homewards and hopes closing down all active programs except the compile will enable it to finish before he returns in the morning 21:32
putter rafl: Juerd last seen 21:31-21:01 hours ago. aka 30 min.
colabti.de/irclogger/irclogger_log/...-03-06,Mon
eric256 there isn't a perl6 grammar in perl6 rules project yet?
putter eric256: There's a very old effort in ext/Perl6-Grammar/. But basically no. Please please please please start one? 21:33
fglock eric256: yes, but we have a special need here: the grammar must be progressively complex, because it is actually being executed and the compiler knows 'nothing' about a command until it is seen in the grammar
putter Limbic_Region: thank you :) 21:34
21:34 miyagawa joined
audreyt miyagawa: hi 21:35
rafl putter: Ah, OK
21:35 pmurias is now known as pawel, pawel is now known as pmurias
fglock eric256: for example - we only use pod in the grammar after 'rule pod = { ... }' 21:35
Juerd rafl: pong 21:36
rafl: Though going to bed, so be quick
rafl Juerd: Just wanted to know if you arrived well.
eric256 fglock, sure but a properly done grammar could probably be linked with some form of p5 emiiter right?
fglock eric256: this could be solved by bootstrapping, which is what we'll be doing next (implement things in low level, then rewrite in Perl 6)
Juerd rafl: Not well, but have arrived :)
rafl Juerd: So how was the trip?
Juerd rafl: You left some stuff in my car, like PBP.
rafl Juerd: PBP?
Juerd: Bah! Fuck! 21:37
Juerd rafl: The trip was tiring, and the only Stau I had was normal rush hour stuff.
rafl Juerd: You left some stuff in my jacket, like the usb cable
Juerd rafl: Keep it; I'll just send you yours without those items :)
rafl Juerd: OK :-)
pmurias fglock:done 21:38
fglock eric256: yes - but then we would not have get to where it is so fast - by keeping it simple, it could be built in small steps - the other way round, we would need a full-blown compiler from start!
svnbot6 r9310 | pmurias++ | moved the return-block-hack to a special file
rafl Juerd: I woke up an hour after I recieved your SMS so I didn't get to my place anymore. I hope you got along with everything there. Sorry again.
Juerd rafl: Worked well, though your (actual) flatmate was quite surprised. 21:39
rafl Juerd: Why?
Juerd: And by what?
pmurias fglock: we should have some switches to dump stuff from the compiler 21:40
Juerd By there being some foreigner in his bathroom
fglock pmurias: yep - how about an API (Getopt::Long?)
rafl Juerd: I was quite suprised when I saw him in my flat :-)
Juerd Hehe
21:41 Shillo joined
putter eric256: though even just a straight p6 grammar which assumes p6 already exists would be helpful, because its much easier to rearrange that for a particular bootstrap path, than writing from scratch. 21:41
rafl Juerd: I found it funny when the CLT security guys asked us if we know that guy as they thought he might be suspicious. :-)
Juerd rafl: Which guy? 21:42
rafl Juerd: Sirko
putter there are also questions of whether to use rules with arguments (Parser.hs does, pge doesnt yet support (i think)), and... something else
Juerd rafl: I was talking about some other guy.
Shillo Hullo, all. :)
rafl Juerd: Ah, the real flatmate, Thomas?
pmurias hi
Juerd rafl: Yes, as hinted by "(actual)"
rafl Ah.
pmurias flock: ok
rafl Yes, I'll have a new one this month, so I don't care that much ;-) 21:43
pmurias s/flock/fglock/
Juerd I thought Sirko was just weird. He said the CLT were the best part of the year for hem. Sounds like he lacks a life.
fglock gets locked/unlocked
rafl Juerd: Yeah, pretty weird.
Juerd And that he couldn't sleep of excitement...
szabgab how can I retrieve the names of methods in an object ? 21:44
Juerd I was like, the proverbial, WTF.
fglock bbiab
Juerd szabgab: I guess object.meta.methods
rafl Juerd: :-)
21:44 rantanplan_ joined
szabgab Juerd: but should that already work ? 21:44
rafl Juerd: I wonder how you know that. Thought he doesn't quite speak any english. 21:45
Juerd rafl: I don't quite ignore German, though. 21:46
rafl Juerd: Makes sense.
Juerd And his English is about as good as my German, so understandable if really needed.
rafl Juerd: Did you find out why sshd was listening on 443, btw?
Juerd I haven't asked.
I have no need to know, as I want https there quite regardless.
rafl OK. 21:47
I'd like to read PBP now! :-/
Juerd Come and get it.
szabgab I opened a file my $fh = open "README" and then tried to $fh.meta.mehods but no result
Juerd By the time you're here, I will have slept :)
rafl Just because you remided me that I have lost it, but still!
Juerd szabgab: I'd be very surprised to see it working. 21:48
audreyt szabgab: the PIL^N metamodel had not been ported to the native runtime.
rafl Juerd: I won't.
Juerd: I don't like traveling anymore. :-)
audreyt szabgab: stevan_ said he'll have time on the coming week to help me work out metamodel compilation and other oo-related stuff
Juerd rafl: BTW - why do the gas stations in the places that need windscreen cleaning most, sell only small amounts of the stuff?
szabgab ok, so a simpler question, how can I know what is the current row number in an open file ?
audreyt as in $. ? 21:49
Juerd 2 L was the biggest I could get (and expensive)
szabgab yes
$.
audreyt I don't think you can currently do that
Juerd I here get 5 L for half the price...
stevan_ hey audreyt
Juerd Both suited for -20 celcius.
audreyt stevan_: yo
szabgab ok, so I count myself then :-)
rafl Juerd: Because they can?
audreyt szabgab: or you start writing docs/Perl6/API/IO
Shillo audreyt: Hiya!
audreyt .pod
Shillo: yo
Juerd rafl: BTW, #49 on cacert now. Why did you point me to this score? Now I want to be ranked higher and higher :( 21:50
audreyt stevan_: hey. I'm finally back to cyberspace after 3 days of lavish tourism
in realspace
stevan_ nice
Juerd audreyt: wb
stevan_ see anything good?
szabgab that seems like an empty directory :) 21:51
audreyt szabgab: be the first :)
(the idea is to port docs/AES/S29.pod over)
check to see if it has IO::* in it
clkao audreyt :)
audreyt stevan_: sure, I even got a new outfit :) pugs.blogs.com/photos/audrey/kln3.html
stevan_ audreyt: nice, where were you touristing? 21:52
audreyt cologne
clkao audreyt: looks fantastic!
audreyt danke :D
21:52 mauke_ joined 21:54 miyagawa_ joined
pmurias bbtommorow 21:54
szbalint hey szabgab :) 21:55
stevan_ so audreyt when you arrive at Leos?
svnbot6 r9311 | pmurias++ | a proposal for a debugging api
audreyt stevan_: ~54 hours from now I think 21:56
will attend Vienna.pm meeting first
szabgab szbalint: szia
stevan_ good that give me time to brush up on my PIR :)
Shillo Hmm, any devs near Graz? 21:57
audreyt excellent :) though I kinda thought you'd work on p5 targetting :)
Shillo I travel there at least once/month :)
$work :)
stevan_ audreyt: even better :)
stevan_ wasnt to excited about the PIR bit anyway
audreyt stevan_: I think the plan is to make serialize-objspace-as-result-of-compilation sound and useful
whether we evaluate the serialized Code object as PIL^N 21:58
or under a Class::MOP-based MM in P5
or emit PIR
or JS
Daveman :o
audreyt is a matter of taste anyway -- and I'd like to work on P5 first, because then the pX-i_e engine can reuse it most profitably 21:59
stevan_ audreyt: hmmm, I think the CLass::MOP based MM is probably the fastest
audreyt is very excited about booting via pXie
though it can really use a more bloggable name :)
stevan_ has to take a closer look at that stuff
spinclad pixie
audreyt stevan_: you can start perhaps on getting Bootstrap.pil running on p6? 22:00
Shillo audreyt: Why is it better than Haskell boot? No compilation waits?
audreyt I mean p5
stevan_: that isn't blocking on anything, and so should be a quite well-defined task
Shillo: I'm not sure it's better, but it's exciting :) 22:01
audreyt is excited by shiny new toys in general.
Shillo :)))
Daveman Hi audreyt
stevan_ audreyt: how shall we do unboxed types?
audreyt Daveman: greetings
stevan_ autobox.pm?
Shillo Shhhhh! Every few months I try to make a choice between hardware and eating. ;)
audreyt stevan_: that's my preference, unless you can think of something better
stevan_ audreyt: nope, and I rather like autobox the last time I fiddled with it 22:02
audreyt putter: btw, re pluggable RE engine, I wonder if it's possible to just plug PCRE in
eric256 for Shillo's sake i hope the never invent edible keyboards ;)
audreyt stevan_: good, go w/it then 22:03
stevan_ audreyt: I have to run (dinnertime), but I have to show you Moose.pm soon, it is my (Class::MOP based) answer to Spiffy :)
eric256 or maybe i hope they do.. lol. nothing like eating last months hightech gadget
Shillo eric256: Oh, I pick eating every time, actually. ;)
audreyt stevan_: oooh, Moose
er, sorry about the ^H overflow.
Shillo eric256: But I do have Oooooooo, shinyyyyy!!! moments at times. :)
stevan_ nothingmuch came up with the name (if you couldnt guess)
audreyt I could've guessed gaal
stevan_ gaal was part of the inspiration as well :) 22:04
audreyt Lambdamoose++
stevan_ Makes Other Object Systems Envious
Metacircular Object Oriented Super Environment
the acronyms are endless 22:05
Shillo stevan_: Uhm, LambdaMOO is taken already. :)
stevan_: And I"m still wizzing a couple.
audreyt Moose Oosem Osemo Semoo Emoos
stevan_ :)
Shillo stevan_: Actually, I learned OOP from MOO. :) 22:06
22:06 mauke_ is now known as mauke
stevan_ see, it all comes back to the MĆøĆøse, gaal was right 22:06
audreyt: one parting question, how do you want to serialize the objspace? 22:07
Data::Dump::Streamer?
audreyt stevan_: YAML
stevan_ hmm
does YAML store code refs too?
audreyt should be transparent with YAML::Syck::Load
hmm?
we serialize objects 22:08
Code is just another object
stevan_ ok
audreyt with NativeLang nodes
which is just var, lit, and various forms of invocation
you can recreate these structures rather easily by hand in p5
stevan_ ok, so similar to the Perl6-ObjectSpace stuff, but we just get to use autobox for the native objects
audreyt yes. 22:09
stevan_ :)
audreyt the distinction is that this time it's For Real, with shared boot code among backends :)
rafl :-)
putter ok. so the real program is the whole "we're -C compiling now, so let's ignore the Prelude". As Prelude starts to include things which affect the _parse_, that just doesn't fly. so... ???
s/program/problem/
Shillo Can YAML handle circular structures? I.e. any way to create symbolic refs to the nodes?
putter audreyt: do you have a vision of how the Prelude is supposed to both affect compilation parsing, and not show up in the compilation output?
audreyt Shillo: sure, YAML handles that just fine 22:10
Shillo audreyt: Cool. :)
audreyt putter: yeah, and that involves serializing everything in the module's namespace and nothing more 22:11
i.e. Test.pm.yml should be a serialized "module Test" object
nothing more and nothing less
stevan_ sees a Class::MOP::Serializer::YAML in his future
Shillo I'm kinda annoyed that YAML isn't coming with Python by default (got certain serious deployment constraints at $work, and I'd *love* to have a non-braindead configuration language)
audreyt vision and future-seeing `r` us 22:12
awwaiid why aren't you automatically serialising everything like that? (I have only a very elementary idea of what is going on)
pre-computing, that is
audreyt Shillo: PySyck can't be used in your site? 22:13
awwaiid ("can't do that" is probably the answer)
(or "you really have no idea what you are asking")
audreyt awwaiid: "couldn't do that. doing that now."
"doing more of precomputing each day"
awwaiid ah, cool
audreyt (there wasn't sensible Syck bindings.)
Shillo Sure can, but... see, I use Python for configuration management and deployment. Python is one of the things I manage and deploy. And it has to be pristine. 22:14
22:14 miyagawa_ joined
awwaiid its a funny line between pre-computing and compiling, eh? :) 22:14
audreyt Shillo: my condolences
awwaiid: the line is even more blur if you consider partial evaluation :) 22:15
Shillo audreyt: Thank you... I appreciate it. I hate this project.
22:15 dduncan joined
fglock how does '$_[0] !~ m/^(\Q$const\E)(.*)/s' translates to Pugs? 22:15
Shillo :)))
putter do we have anything which can work as an #ifdef in p6? I thought if(0){sub f(){}} would do it, but no.
stevan_ audreyt: one last question (I am already in trouble, so might as well push it),... what about MMD,.. does the metamodel need to bring that? or should I use Class::MM::*?
theorb Should be possible to write a macro for it, putter. 22:16
putter lol
Source filter Prelude.pm... oooo. that's great. :)
22:16 beppu joined
audreyt stevan_: the MM has nothing to do with MMD I think -- MMD is dispatched _through_ the Code object 22:16
that is, it's a userspace thing 22:17
theorb I didn't mean a textish macro -- I thought we had ASTish macros now.
stevan_ tries to take the sharp objects away from putter ... slowly
audreyt: ok
audreyt the MM space only thinks in terms of single dispatch, afaict
wolverian is a sub declared in a block created at compile time? if (foo) { sub ... }
stevan_ audreyt: I think that is probably a sane restriction to impose, and one which won't really get in anyones way 22:18
dduncan quick question: is it worthwhile for me to run a smoke now, or is pugs in a known state of not working, and under transition?
audreyt as long as it provides a way to iterate thru the C3 chain, we can always resolve MM matchedness via Class::MM or other algorithm in userspace
stevan_ audreyt: well the MMD dispatcher will need to support some form of next METHOD, but only within it's chain of applicable methods 22:19
audreyt dduncan: it's in a state of transition to the perl6-based-prelude-and-proper-oo state, so smoke probably isn't very critical
stevan_ once it leaves that chain, it should hand control back to the class dispatcher
dduncan fyi, I haven't done any smokes since 6.2.11 went out, assuming that large overhauls would happen next
okay, I won't smoke for now
audreyt stevan_: yup
dduncan: we've been thru a lot of large overhauls
(and more to come)
stevan_ dammit,.. we are in agreement again :P
dduncan meanwhile, I am testing daily that pugs at least builds 22:20
putter fglock: ~~ /^ ( $const )(.*)/
stevan_ audreyt: I think I might sit down and actually hack out some of these detail in S12.5 before I do anything else
audreyt stevan_: please please put them in docs/Perl6/API/Class.pod
and Object.pod
stevan_ yes
fglock putter: thanks 22:21
stevan_ and MetaClass.pod
audreyt . o O (or just Meta.pod)
svnbot6 r9312 | audreyt++ | * ./foo() was accidentally disabled. Although it _should_,
r9312 | audreyt++ | we can't do that without parsing @.foo() correctly first.
r9312 | audreyt++ | So for now, bring it back from dead.
audreyt but nah. that name is cursed
stevan_ maybe a MOP.pod
audreyt feels like doing a p6 implementation from scratch now. fun! :)
stevan_: unless there is a MOP package, probably not
stevan_ search.cpan.org/~ortalo/MOP-1.00/ 22:22
audreyt you can always put overview-ish things under docs/Perl6/Overview/
putter theorb: we do have code macros, but then Prelude would have to be an enourmoose macro call, with the macro then having to... do we have macros which take ast's as input too?...]
stevan_ Overview/MOP.pod is probably a good place for the high level stuff
audreyt cool then
stevan_ API/(Class & MetaClass & Object).pod is for the actual APIs then 22:23
Shillo dduncan: Hi. :) Hey, I took a look into Rosetta.
audreyt please keep it short and to the point -- elaboration can go to Tutorial/ later
stevan_: yup. yay
stevan_ audreyt: I will lean towards density
rather than verbosity
spinclad audreyt: do you see PIL2/PIL^N as still an interchange format between compiler and backend, or YAML take its place? 22:24
eric256 if HOP is higher order perl, does that make MOP meta order perl? ;)
stevan_ eric256: Meta Object Protocol
My Other Pant
s
spinclad s/YAML/will &/
eric256 my other perl
putter and then splice together the code. instead of just macro skipit($c){$ENV{EXISTING_NO_PRELUDE_KLUDGE} ? "" : $c} skipit q:to/ENDOFSKIP/ ...most of prelude... ENDOFSKIP ...use/require macros..
And the kludgy prelude skipping stuff in Pugs and Run.hs can come out. 22:25
stevan_ runs off to dinner & 22:26
audreyt spinclad: PIL^N is a runtime; PIL2 is a set of objects serialized (under the spec of Perl6::API::*); YAML is the interchange format 22:27
putter lol. again. # audreyt feels like doing a p6 implementation from scratch now. fun! :)
FurnaceBoy hehe
by 5pm, 'k?
oh., 22:28
6pm.
:~|
eric256 we are going to go from 0 perl6 implementations to like 5 all at once and old perl hands will be confused that there is more than one implementation
22:28 blm_ is now known as blm
FurnaceBoy hehe 22:29
natural selection will take care of it.
eric256 then m$ will buy one up and make its own standard for perl ;) and probably google too
22:29 penk joined
FurnaceBoy then we go nuclear on their sorry a** 22:29
integral a specialised massively parallel perl6 impl isn't a bad idea :)
FurnaceBoy yes, I guess that contradicts my previous line.
well, more impls will iron out kinks 22:30
if you have an odd number, you can use a voting protocol as tiebreaker on decisions ;-)
audreyt actually I am likely to present Pugs at MS at the week before YAPC::NA :)
svnbot6 r9313 | fglock++ | iterator_engine.p6 - compiles in Pugs with no syntax errors!
fglock iterator_engine.p6 ported to pugs :) 22:31
audreyt (as in, giving a talk there, and possibly work with CLR folks on targetting it)
fglock: wow.
fglock one step further near bootstrapping :)
Shillo audreyt: Wow.
Shillo cheers for LLVM target. :> 22:32
spinclad fglock++ !
fglock later &
22:32 miyagawa_ joined
audreyt putter: when did you say the "spike" metacircularily will happen again (at start of pX)? did iterator_engine.p6 miss the mark? :) 22:32
fglock audreyt: april 1st? 22:33
FurnaceBoy grins
audreyt right :)
audreyt looks at the calendar
spinclad fglock: damnit, you're premature! 22:34
fglock there are a few more files to port - about 30kb of it
putter oh, wow # r9313
audreyt fglock: surely we can port it over the next 25 days :D 22:35
putter audreyt: re "when...", huh?
audreyt putter: nvm, I was referring to the "impossible" Apr-1st mark.
Shillo Is there an overview of what pX is? Rather, which parts of it are p5, and which are p6? 22:36
audreyt s/impossible/non-functional/
putter ahh, I get ti
*it
ah, actually, the original apr1 as for full p6, with the "we also do ruby and scheme" which that implies. :) 22:37
fglock Shillo: there is a README in pX/iterator_engine
putter or maybe it was rb, scm, and pypy. and CL. there've been a few versions.
audreyt lol :)
fglock no, that would be misc/Parser-Mini - but I don't think we'll have both finished by Apr-1st 22:39
I mean, with full tests 22:40
spinclad tests, shmests. it compiles, ship it!
audreyt it shipped, now compile it! 22:41
fglock &
22:42 fglock left 22:50 miyagawa joined
putter bizarre as it seems, given a working p6, I really think on can plausibly do a javascript, ruby or scheme in about a person-month. 22:50
s/on can/one can/
"do" meaning a complete test suite pass. 22:51
full non-C libraries
integral Coq/Gallina would be nice would be 22:52
putter greps for Gallina... err, meant google... 22:55
audreyt perlcabal.org/~autrijus/tmp/p55.tbz # larry's p5-to-p5 thing 22:56
(Nicholas is merging it to trunk as we speak; this is just a transient url)
rgs woot 22:57
audreyt ("./perl p55 -Y helloworld.pl > helloworld.yml" gives the yaml AST tree)
integral putter: it's the name for the language that Coq uses for theorems/proofs/programs 22:59
(as opposed to the other bit which appears to be for the proof strategies bit)
23:02 jisom joined
audreyt TimToady: is it possible to combine "no optimizer;" with MAD, so peephole optimizers don't trigger at all? or is it already being done (or irrelevant)? 23:02
rgs what's "optimizer" ? 23:03
I suppose it's not search.cpan.org/dist/optimizer/ , or is it ?
audreyt it is. 23:07
rgs ok
rgs waits to see the patch on the perl5-changes ML 23:08
probably after sleep. &
audreyt g'nite :)
putter integral: ah, tnx
wait!
please...
audreyt: quick question?
?
ah well 23:09
audreyt yes? 23:11
I was g'nite'ing to rgs
Shillo Laters, all. :)
putter ahhh. putter tries to think... 23:12
eric256 lol 23:13
putter gives up. maybe later. thanks though. :)
audreyt np :) 23:25
23:35 huhlig joined
huhlig anyone willing to answer a stupid question? 23:35
the people in #perl are being idiots
$server->{'port'} = shift || 4000;
$server->{'socket'} = new IO::Socket ( LocalPort => $server->{'port'}, Proto => 'tcp', Listen => 16, Reuse => 1 );
IO::Socket: Cannot configure a generic socket at StarMUD/Network.pm line 25
audreyt try s/IO::Socket/IO::Socket::INET/ 23:37
huhlig ok
same problem
FurnaceBoy hi huhlig!! 23:38
23:38 eric256 left
audreyt huhlig: you want Domain 23:38
huhlig domain?
hi furnace
I decided to take your advice 23:39
FurnaceBoy huhlig, I stumbled on this today, pugscode.org/images/timeline.png
probably out of date ;-)
audreyt huhlig: IO::Socket::INET should fill in the Domain for youas AF_INET
otherwise you'd need to tell IO::Socket's constructor 23:40
huhlig audreyt still cant open it
audreyt Domain => AF_INET
huhlig ok
audreyt FurnaceBoy: how is it out of date?
huhlig course none of the tutorials mention that
audreyt because IO::Socket::INET should fill it in for you.
I'm surprised that it did not.
and that's indicative of a bug in your "new" call, I think.
FurnaceBoy audreyt, it probably isn't. I was kidding, really. I like that chart, illustrates what I was 'splaining to huhlig yesterday. 23:41
audreyt but by all means experiment.
FurnaceBoy: cool :)
huhlig ok
audreyt, ok I added the Domain => AF_INET and it "seems" to work
althought IO::Socket::INET doesn't 23:42
audreyt well, then :)
putter If I could only persuade pugs to include this one line macro use($module) { "use_('$module')" } when it ignores the Prelude, then pil2js should work again. require() works fine now. 23:46
23:47 hermatize joined
hermatize anyone ever make a rss aggregator 23:48
audreyt putter: so you want to fix ruleUsePerlPackage
hermatize in perl
audreyt hermatize: I wrote XML::RSS::Aggregate
but nowadays try search.cpan.org/dist/XML-Feed/ instead
hermatize well 23:49
im trying to make an aggregator
thats dosent depend on going out to the internet to get feeds
we are making our own feeds
does that make sense
whats that perl module do?
putter audreyt: the core problem is the incorrect assumption that one can do a parse without having seen the prelude. anything which determines the parse, which ends up in Prelude, will hit the same problem. no? 23:50
hermatize u think you can point me in the right direction
audreyt putter: I think prelude should always be loaded, except for parsing prelude itself, yeah 23:51
hermatize: please acquaint yourself with XML::Feed (linked above) -- I'm no longer activly involved with blogosphere hacking, so you may want to consult other people in eg. #perl instead 23:52