pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
TimToady which renders tries completely unnecessary 00:00
Limbic_Region forgive me for being completely ignorant here, but will this allow us to have variable width assertions?
TimToady maybe someday someone will retrofit the autolexer to p5, I dunno
um, not sure what you're asking, example? 00:01
Limbic_Region just a second
TimToady jnthn: looks like all the .*, .? etc method calls are missing as well 00:02
Limbic_Region was pulling up perldoc perlre to make sure I got the verbiage correct
jnthn TimToady: The other thing I was after in STD.pm (though maybe you already added this) is how to parse "my $thingy = -> $x { say $x }; ". 00:03
Just the current random features that are on my mind. :-)
TimToady that's handled under circumfix:<{ }>, where it calls <lambda> 00:04
which includes both -> and <->
TimToady and circumfix parses as a term 00:06
though it's possible the <?before> is redundant there with what pblock already accepts...
Limbic_Region look behind assertions in p5 have to be fixed width correct? That is the limitation I am asking about
jnthn TimToady: OK, you changed that recent-ish? Or maybe I missed it before...well, can get the Rakudo grammar in line with that anyway...
TimToady Limbic_Region: yes, fixed
jnthn: don't remember when I did that 00:07
Limbic_Region: lookbehind is specced to run in reverse
jnthn OK, well, thanks anyway. :-)
Limbic_Region ah, clever
TimToady so any node that can be matched in reverse may be used in a lookbehind
biab & 00:08
Limbic_Region TimToady - final question (for now). Are there any whiz-bang features offered by any other product (PCRE for instance) that you know of not being addressed ?
TTFN
chialdo Hello. 00:12
Is the general consensus in here that wealth a positive-sum phenomenon?
is a*
chialdo I can effectively argue that the worse off is one group the better off may be another. 00:13
Yet I might also be able to argue nearly as effectively that the better off is one group the better off may be another. 00:14
The general concensus among the economics taught and most accepted is that wealth is a creation game. 00:15
dconway would you stfu 00:24
chialdo How can royalty exist if not for thousands of inferior servants revering that royalty? 00:25
TimToady Limbic_Region: well, some packages do approximate matching. interestingly, TRE is one of them, which is what I'm using for my LTM 00:28
though I need to look at their syntax for that and decide how it fits into p6 syntax
Limbic_Region TRE = www.laurikari.net/tre/ 00:31
lambdabot Title: 169 TRE home page
Limbic_Region ok, thanks 00:32
pugs_svnbot r20007 | lwall++ | Missing .foo as term, noted by jnthn++ 00:36
diff: dev.pugscode.org/changeset/20007
lambdabot Title: Changeset 20007 - Pugs - Trac
TimToady jnthn: actually, the . variants are handled by <dotty>, which just has to be added to <noun>
Limbic_Region: basically, they extend the syntax of {} quantifiers, which is inconsistent with the p6 approach, so we'll have to come up with some other syntax 00:38
pugs_svnbot r20008 | putter++ | misc/winter_jig/backend_bare_perl5: Now runs. six_kp6_bare_p5 compiles 'say(3)'. 02:28
diff: dev.pugscode.org/changeset/20008
lambdabot Title: Changeset 20008 - Pugs - Trac
ruoso mncharity, s1p is just a subset of perl 6 that can be translated to C using the default smop interpreter implementation 10:05
for instance... at this moment there is no lexical scopes and namespaces in somp 10:06
so every symbol must be translated to its C implementation symbol
and lexical variables must be translated to smop "frame" manipulations, like SMOP__SLIME__Capturize 10:07
ruoso s1p is also specific to class definitions... so it will compile src-s1p/Object.pm to a C code that initializes the Object package and class... 10:10
using p6opaque, which is the default representation for Perl 6 object 10:11
s
ruoso each method will be added to the Object object using the REPR API 10:12
the method will be the lowlevel method that I had implemented yesterday
and the body of the method will be something like a set of sm0p blocks, except that it doesn't need to be translated to sm0p and then to C... it can be written directly in C 10:13
of course I'll need to implement some lowlevel operations like "if"
"for"
"if" will be an prototype that will have a "if", a "then" and an "else" attribute 10:14
where if, then and else are code objects
and I will call "eval" on the "if" 10:15
in theory, the condition of the if can be something implemented in anything... even p5 for instance 10:17
as long as it complies to the API
rakudo_svn r26069 | jonathan++ | [rakudo] Make it so you can write expressions such as my $x = <-> $y { ... }. Note that it should work for -> as well as <->, but at the moment the first is a parse error; my guess is that it's going for prefix:- rather than the longer token ->. 11:39
r26070 | jonathan++ | [rakudo] Make .foo call $_.foo. 11:51
RichiH where should one put perl6 modules? /me will prolly want to work on a module over time so it might be ready once perl6 is 13:53
kolibrie RichiH: right now most perl6 modules live in the pugs repo under ext 13:56
RichiH kolibrie: ah, ok 14:11
so i should try and get commit access for that subtree?
kolibrie do you have a commit bit for the pugs repo? 14:12
RichiH (also, i still hate that sigils are determind by what data structure you access to get at your data, not by what data you take out of said structure, but that will prolly not change back :p ) 14:13
kolibrie: i have nothing except an idea
'Commit access is handed out liberally; contact the Pugs team for details.' <- sounds good
kolibrie RichiH: send me your e-mail address somehow and I'll send you a commit bit 14:14
RichiH kolibrie: do i need to be able to send email from that address or is receiving OK?
kolibrie RichiH: that's where commitbit will send you your login instructions 14:15
RichiH k, so i can use my cpan alias. good :)
kolibrie RichiH: hmm, says that nickname is in use (I left it blank) - which nickname would you like 14:17
RichiH: perhaps RichiH? 14:18
RichiH yah, RichiH sounds fine
kolibrie RichiH: sent 14:19
RichiH ta
and the second you say that, i get spam from "Lana Hairston" how she is bored tonight.. i am on to your secret identity 14:20
kolibrie :)
kolibrie RichiH: a good first commit is to add your name to AUTHORS, to make sure everything is working 14:22
RichiH kk 14:23
RichiH mumbles about non-https signup forms 14:28
also, https does not even die properly 14:29
kolibrie thinks https should work 14:30
RichiH thinks so, as well
it doesn't, though :p
kolibrie (I am on commitbit.pugscode.org) 14:31
lambdabot Title: Welcome to CommitBit for PugsCode
RichiH kolibrie: hmm, yah. when you replace the http with https on the link i got via mail, it does not work, though 14:32
kolibrie RichiH: strange
RichiH is there a paper on why the sigil handling was changed for perl6, btw? 14:33
i really want to understand why that is being done
and i can't think of any good reasons, myself
kolibrie it's discussed in one of the synopsis
kolibrie RichiH: looks like it is mentioned here, but not so much of the 'why': perlcabal.org/syn/S02.html#Names_and_Variables 14:37
lambdabot Title: S02
allbery_b summary: the way sigils change based on usage is confusing. I think the "why" is in the apocalypse/exegesis
[particle] 'why' is probably in A02 14:38
pmichaud good morning, all 14:39
RichiH would argue that most people will either touch perl for a short time and then leave or, if they stick to it, will advance to intermediate within a year. in both cases, the adde complexity does not hurt that much and as soon as you understand the _why_, it makes moving data back and forth a lot easier -- but it's prolly too late for that, so i will just read the documents :) 14:40
[particle] hey there pm! 14:44
RichiH: did you get your commit bit? i can give you one, if not.
RichiH [particle]: yes, i did, thanks 14:46
[particle] welcome!
RichiH is feather.perl6.nl the only mirror of svn.pugscode.org? if yes, i would rather use that, as the ssl cert matches that host, not svn.pugscode.org 14:51
kolibrie feather.perl6.nl is svn.pugscode.org 14:52
kolibrie (svn.pugscode.org is an alias) 14:52
RichiH yes, but is it the _only_ svn.pugscode.org?
[particle] yes
RichiH ah, yah, i could of just checked for cnames
stupid me
thanks
ryakubo hi 15:01
[particle] hi
pugs_svnbot r20009 | RichiH++ | * AUTHORS: 15:04
r20009 | RichiH++ | Adding myself as per kolibrie's suggestion to check if I can commit
diff: dev.pugscode.org/changeset/20009
lambdabot Title: Changeset 20009 - Pugs - Trac
RichiH seems to of worked 15:05
kolibrie RichiH++ # new pugs committer
RichiH now on to my evil scheme for world domination 15:05
pmichaud get in line. :-) 15:06
RichiH realizes he did not even disclose his evil plan, yet
basically, i want to create a package structure with loads of named regexps
so that if you want to know if something is ipv4, you don't have to refer to your own library and/or google, any more 15:07
[particle] like Regexp::Common in perl 5
pmichaud sounds like a grammar :-)
[particle] ...or a set of grammars
RichiH basically 15:08
ryakubo there's lolcode support in parrot? 15:09
RichiH yes
a full implementation, iirc
[particle] i'm not sure it's complete yet, but it's close
ryakubo ok that's awesome!
pmichaud I CAN HAZ LOLCODE
ryakubo that's reason enough to try and help out :P 15:10
RichiH for some defintion of awesome ;)
ruoso That (someone wanting to implement a non-core module) reminds me that there's no CPAN6 yet... 15:13
ruoso it's probably better to keep the modules in pugs' svn for now... 15:13
RichiH ruoso: yah, that is why i just joined you lot :) 15:14
RichiH is Regexp::Named a good name? 15:21
ruoso RichiH, considering Grammar is already a concept in Perl 6 15:23
I don't think you need to have that in the name of the module
RichiH ruoso: i can't just name it Regexp, though 15:24
[particle] "regexp" is an old name, don't use it 15:24
ruoso Grammar::Common::IPv4?
[particle] we call them "regex" or "rule"
ruoso Grammar::Common::Net::IPv4?
[particle] Grammar::Common seems like a good name to me 15:26
ruoso but considering that as a module namespace, more than the grammar name in itself 15:28
Tene It's very close to complete. I don't remember what's left, but it's not much. 15:36
lolcode, that is.
[particle] i keep forgetting to poke jhorwitz to get mod_lolcode working 15:38
Tene There's some new proposals for lolcode version 1.3 15:39
languages/lolcode implements 1.2 15:40
pugs_svnbot r20010 | putter++ | misc/winter_jig/backend_bare_perl5/: refactoring. Better, but still a work-in-progress. 15:44
diff: dev.pugscode.org/changeset/20010
lambdabot Title: Changeset 20010 - Pugs - Trac
mncharity ruoso: ok. once the winter_jig emitter infrastructure is a little more sane, I'll likely ask you for some test cases, what some simple thing (eg, 'say(3)', or maybe 'class A { sub f(){3} }; say(A.new().f())') should compile to, and then try to set you up with the start of an emitter which works at least on those cases. but 15:49
ruoso mncharity, yeah... I think I should do it in the s1p page in the wiki 15:50
mncharity smop is going to be the first thing which requires real compilation, rather than just skimming an ast, and the infrastructure for that is still in the "fuzzy mental picture - no code" phase. so, it may be some days.
ruoso I'll take the class A { method f() { 3 } } example 15:51
and try to sketch how it should look like in C
mncharity :)
ruoso www.perlfoundation.org/perl6/index....tionformat 16:16
lambdabot Title: DistributionFormat / Perl 6
ruoso I started some notes on how module distribution format would look like
pmichaud ruoso: how does this mesh with the versioning information already defined in the synopses? 16:17
ruoso I'm still just brainstorming it, but in theory minor version is invisible to that matter 16:18
pmichaud also, are we necessarily going to be distributing binaries? 16:19
pmichaud I would think we'd distribute source 16:19
a-la CPAN
ruoso nopes... the idea is to distribute only source 16:20
but building a binary package before installing
pmichaud wouldn't that be implementation specific, then?
ruoso probably, but the concept remains 16:20
pmichaud okay
pugs_svnbot r20011 | putter++ | misc/winter_jig/backend_bare_perl5/: fleshed out emitter infrastructure. 16:41
diff: dev.pugscode.org/changeset/20011
lambdabot Title: Changeset 20011 - Pugs - Trac
ruoso pmichaud, please take a look in the current version of that page 16:50
I basically took the debian package concept and stripped down several things that might not be important to a perl module... 16:51
ewilhelm 'architecture' is a list?
ruoso yep...
let's say your module compile on linux and macos, but not on win32 16:52
ewilhelm you forgot 'configure_requires'
ruoso configure_requires?
what is it?
ewilhelm that META.yml field tells the installer what has to be setup *before* trying to Build.PL/Makefile.PL 16:53
ruoso oh... that is build-depends...
but it looks you're assuming compatibility with current package format
and that's not the case... 16:54
ewilhelm no, I'm pointing out something that has been a huge pain for not having had it originally
ruoso but in theory, build-depends takes care of that
ewilhelm how do you have platform-dependendent build-depends?
ruoso I can get the debian schema for that 16:55
wolverian I wonder if haskell's cabal spec would be useful too
ewilhelm well, debian would configure_requires e.g. buildroot or whatever
they have a fairly homogenous build environment, which is equivelant to having all of the low-level build tools in the core 16:56
ruoso ewilhelm, not really
several debian packages use custom building tools
that are listed as build-depends
like debhelper, cdbs 16:57
ewilhelm when we're 5 years out and perl 6.1 core didn't have the new whiz-bang thing, how do you drag the environment up to date?
ruoso ewilhelm, I'm just not saying your point... what case is not covered by build-depends?
s/saying/seeing/
ewilhelm wait, is everything statically determined by meta.yml? 16:58
ruoso build-depends certainly yes
ewilhelm Alias_: you here?
ruoso: I think it needs to be more dynamic than that
ruoso the build-depends? 16:59
ewilhelm where is the './configure'-like process?
ruoso implemented by each runtime
Makefile.PL no longer belongs to the source package
ewilhelm how's that going to work? 17:00
ruoso each runtime knows what each "source part type" means
Alias_ ewilhelm: barely
ewilhelm even ant has exec
ruoso ant is compared to make
what I'm describing here would be compared to automake 17:01
ewilhelm you're drafting something that looks way more like ant than a makefile
so we're stuck with whatever build support is in the original runtime?
ruoso nopes... that's what build-depends are for 17:02
ewilhelm is build-depends an array or string?
ruoso well, it's in a text file... so it's a stirng... ;) 17:02
but it sure is a list of items
ewilhelm the installer would install that list of items and then what? 17:03
ruoso and then that list of items could declare new "source part types"
ewilhelm hand-off the 'source' section to the first one in the list?
ruoso it's a plugin-like system 17:04
ewilhelm where does 'different actions on different platforms' fit into it?
the plugin has to deal with that?
ruoso by platform you mean architecture or runtime?
or both? 17:05
and which kind of action are you talking about?
ewilhelm both and/or neither depending on whether everything the package needs is provided via the runtime
for instance, Wx::ActiveX only works on windows, but Wx::Mozilla tends not to work so well there 17:06
so the dependency changes depending on the platform (for some value of 'platform')
ruoso you mean that all this parts are part of the same source package? 17:07
but, you do have how to have conditional build-depends on the architecture and runtime 17:08
ewilhelm no, they're dependencies
ruoso depends: Wx::ActiveX [arch:win32], Wx::Mozilla [!arch:win32]
that's how debian deals with it 17:09
ewilhelm ok, and build-depends has that same syntax?
ruoso yep
but that makes me think that we should probably have a test-depends as well 17:10
ewilhelm ruoso: yeah, test-depends 17:35
we never did hammer-out recommends in the p5 world
mugwump Test::Depends? 17:50
ruoso mugwump, the idea is getting the modules installed when wanting to test 17:51
and differentiate runtime depends from test depends from build depends
mugwump sure. I normally bundle the hard dependencies, and use Test::Depends to skip the missing dependencies 17:53
(with Test::Depends, the hard dependency is really just Test::Depends)
ewilhelm ruoso: I think this needs a field for the META.yml version and/or some kind of minimum version for the setup tool 17:55
that is, when this changes, how do older parrots upgrade the 'apt' portion? 17:56
ruoso ewilhelm, hmmm... sure... like debian's Standards-Version:... 17:57
ewilhelm, please feel free to change the wiki page 17:58
I really don't mean to be *the* maintainer of that ;) I'm just the starter of the brainstorm
pugs_svnbot r20012 | lwall++ | Added mechanisms for getting more input on \v transition. 18:08
diff: dev.pugscode.org/changeset/20012
lambdabot Title: Changeset 20012 - Pugs - Trac 18:09
[particle] the standard dialect of english requires ) after the . 18:25
TimToady not if you start the ( in the middle of the sentence
you're getting confused with typesetters' rules for ' maybe... 18:26
which I also ignore...
[particle] hrmm, wasn't aware of the middle of sentence rule
TimToady if you put a whole sentence inside, then the period goes inside
[particle] yes, modern technical english is better served by putting . afterwards
TimToady that's pretty standard
[particle] what about comma? 18:27
TimToady never inside
and outside only if a comma would be used in the absence of the parenthetical phrase 18:28
[particle] use English::Critic; # ISAGN
TimToady the tricky one is what to do with sentence and a half (which happens to me a lot. Go figure...) 18:29
[particle] Grammar::Critic is for something else :)
TimToady in those cases I just recast the sentence to avoid the problem
TimToady actually, I'd usually sentencify the fragment in that case. (Which happens to me a lot. Go figure...) 18:30
pugs_svnbot r20013 | lwall++ | removed fossilized anglewords and quotewords noted by pmichaud++ 20:14
diff: dev.pugscode.org/changeset/20013
lambdabot Title: Changeset 20013 - Pugs - Trac
mncharity TimToady: I'm writing a quick wrapper script for STD5. To feed it input, and extract the Match yaml from it's output. src/perl6/STD5_run ? Do any of the scratch directories have to be emptied between searches? 20:27
TimToady not unless you change any rules or how they map to lexer patterns 20:27
mncharity ok 20:28
TimToady good idea to clean out every make test or so though
it takes very little time to rebuild
not sure yet how the caching strategy will interact with user-definded regexen though 20:32
if it's fast enough, maybe do only in-process cache
but even rebuilding the cache for STD takes only a few seconds
well, that's rebuilding all of yamlg6, and only those parts of lex visited by ->longer() 20:33
->longest() even...
still, that's most of it for parsing 42+1 20:34
since it has to pull in all of prefix, terms, postfix, and infix 20:35
mncharity perl -w STD5.pm is giving me Global symbol "$moreinput" requires explicit package name at STD5.pm line 2380. on head. expected?
TimToady s/yamlg6/yamlg5/
mncharity "lotsfix":)
TimToady ah, I hardwired moreinput into my gimme5, but haven't checked that in 20:36
it's about the only context variable we aren't declaring "is context" ourselves
mncharity no need to alter you development stride. I can work on a different corner for a while.
TimToady not sure if my current gimme5 and Cursor5 work at all; I'm in the middle of trying to do correct autolex on embedded alternations 20:37
mncharity sure, np. I'll work on...
maybe sixkit instead.
TimToady and I'm probably out of hack time for the day due to $job plus Dr appt 20:38
mncharity Idea is a new gstreamer gst-launch-like tool. sixkit std5 ! std_match_to_kp6_ast ! mumble_compiler/opt=foo ! mumble_backend ! -e 'say 3;' 20:39
np. I'll check in a non-working rough draft. 20:40
pugs_svnbot r20014 | lwall++ | [gimme5] declare our $moreinput
diff: dev.pugscode.org/changeset/20014
lambdabot Title: Changeset 20014 - Pugs - Trac
TimToady I can check in the gimme5 part, I think
and then your version should work
mncharity checking..
well, got closer. np. another day. 20:42
TimToady what kind of rule are you trying to run?
I haven't quite got statement there yet all the way down to EXPR 20:43
mncharity oh, wait. works. looks like a wrapper bug. I'm all set.
Perl->new(orig => '42')->noun([]);
TimToady should be able to at least do '42+1' -> EXPR 20:44
might not terminate pretty though
and you're trying to extract the match
rhr when I run it it seems to parse 42 and then stop 20:45
TimToady it's still looking for infix at the end, question is whether it traversed 4 positions 20:46
as an op prec parser, it keeps looking for more infix
and the final one should fail
(unless you have an explicit terminator) 20:47
rhr it only gets to:2 afaics
TimToady hmm. maybe some of my new gimme stuff is interfering
mncharity given "out of hack time", I'll just say thanks, rather than getting into 42+1 output. 42 is just fine to get the script out. :) 20:48
TimToady nod, thanks 20:48
pasteling "rhr" at 65.94.10.253 pasted "42+1 STD5 output" (950 lines, 38.7K) at sial.org/pbot/30364
TimToady rhr: looks like you called noun rather than EXPR 20:52
rhr how is that done? my $r = Perl->new(orig => '42+1')->EXPR([]); (changed from noun) doesn't work 20:54
TimToady dunno, probably some interference with my newer gimme code 21:01
pugs_svnbot r20015 | putter++ | src/perl6/STD5_run: A script to make running STD5.pm easier, by providing it input, and isolating it's Match yaml output.
r20016 | lwall++ | revert a bit of code
diff: dev.pugscode.org/changeset/20016
lambdabot Title: Changeset 20016 - Pugs - Trac
TimToady try that version of gimme5, after clearing yamlg5 and lex dirs
rhr oh, it was segfaulting :( let me svn up and try 21:03
still segfaults. p5 bug I guess 21:04
actually, a tre bug: tre_tnfa_run_parallel 21:08
pugs_svnbot r20017 | putter++ | src/perl6/STD5_run: it STD5.pm doesn't exist, create it.
diff: dev.pugscode.org/changeset/20017
lambdabot Title: Changeset 20017 - Pugs - Trac
TimToady are you running in a locale? that may be fooling tre
it's really easy to coredump tre by feeding it the wrong encoding... 21:11
bbl & 21:12
rhr my locale is utf8, but it still segfaults with LC_ALL=C LANG=C 21:18
rakudo_svn r26077 | bernhard++ | [Rakudo] 21:36
r26077 | bernhard++ | Rakudo does not use PAST-pm, so don't mention it in ROADMAP.
rakudo_svn r26081 | jonathan++ | [rakudo] Implement smart-match for classes. 21:57
meppl good night 23:49