6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 Set by wolverian on 12 February 2006. |
|||
00:14
avar joined,
Cryptic_K joined
00:17
ozone_ joined
00:20
K_ joined
00:30
avar joined
00:42
avar joined
01:24
stevan_ joined,
kanru joined
01:38
Cryptic_K joined
|
|||
putter | anyone around? | 01:47 | |
putter , weary, wonders whether to simply declare this a hacking-free day. :/ | 01:50 | ||
One fun possibility is to extend the existing spike, which has p5-syntax regexps, with subrules (<foo>). Which should be fairly easy. Then create a dynamic rule (eg, it has an array of possibilities to try) generator, easy. That's the kind of thing a p6 parser uses for the <statement> rule in the grammar. | 01:58 | ||
dduncan | do whatever you want | 02:01 | |
putter | it gets filled in by macro statement_control:<while> (???) is parsed(rx:perl5/while \( <expr> \) { <statements> }/ {...} or some such. oh, the same trick is also used for <ws>. <token>, used by <expr> is similar, but tries the posibilities in longest-match-first order. <expr> itself is different, a bottom up operator | ||
precedence parser. | |||
dduncan: ;) | 02:02 | ||
just trying to get psyced. three cups of caffine and I'm still falling asleep. | |||
dduncan: working on anything interesting? | 02:04 | ||
dduncan | well, if you want to know, I just submitted my OSCON 2006 talk proposal | 02:08 | |
I can nopaste its main parts for your (and others') perusal | |||
pasteling | "dduncan" at 24.69.53.198 pasted "my OSCON 2006 45-min talk proposal" (76 lines, 3.1K) at sial.org/pbot/15860 | 02:13 | |
dduncan | there you go | ||
putter | neat! | ||
reading... | |||
dduncan | fyi, the deadline is tonight, pst ... in under 6 hours ... so if you want to propose something and haven't, that's how much time you have ... remember, acceptance means free admission | 02:14 | |
putter | lol | 02:17 | |
dduncan | what part? | ||
tewk has transcoded PGE's OPTable.pir to p5 OpTable.pm, the add_token method works, cleaning up the parse method presently and relearning perl5 reference semantics. | |||
dduncan | if its anything really bad, I have 5 hours in which I can submit edits, though hopefully they'll let me after the deadline too | 02:18 | |
putter | nice life's work. we should talk semantic net sometime. re lol, the thought of doing a paper deadline crunch to get into oscon. not sure why it was lol, but was. | ||
tewk 's perl5 knowledge is limited, and what he does remeber is rusty :) | |||
putter | would you like word smithing suggestions. a couple of points in the beginning i rather stumbled reading it... | 02:19 | |
dduncan | I only had to get the proposal in within 5 hours, not the talk itself | ||
putter | k | ||
dduncan | I have up to mid-june or so to submit slides, and until the day itself to prepare | ||
and I won't really bother with most of that until the end of march, where I find whether the proposal was accepted or not | 02:20 | ||
02:20
f0rth_ joined
|
|||
dduncan | putter, you're welcome to give smithing suggestions | 02:20 | |
putter shakes head. just in time talk preparation... I've no doubt encountered scarier concepts... just can't think of any at the moment... | |||
dduncan | the short text is for web ads, and the long text for the convention book, I think | ||
I'm not going to JIT the talk, though I know some people do | 02:21 | ||
I think audreyt is one of them | |||
the con is in late july, fyi | 02:22 | ||
putter | tewk: oooo, neat ! does it handle defining ops with precedence relations relative to other ops? | ||
putter looks at oscon side, wordsmithing... | |||
dduncan | while you're at it, if the long description can be made 10-20% shorter without losing the good stuff, that would be great ... I think it had exceeded the 250 word max | 02:23 | |
the shorter desc had to be under 50, and I think it is | 02:24 | ||
putter | dduncan: what is the relationship of the two clauses in the first sentence? aren't...(because?) making...? | ||
dduncan | ... | 02:25 | |
I'm not sure what the problem is ... elaborate please | 02:26 | ||
putter | ...introduces "Rosetta", ***, native for... felt there was a missing bit "***" - R is a module? framework? mumble? | 02:27 | |
re elaborate, | |||
dduncan | so I should be more specific than "solution"? | 02:28 | |
how about: This talk introduces the "Rosetta" framework, an unprecedented solution, in native Perl 5 and Perl 6, that makes it easy to create and use relational databases that are very reliable, powerful, portable, and efficient. | |||
I added 2 words around R | 02:29 | ||
putter | "Many Perl developers aren't using databases effectively; making reliable solutions is error prone and slow." consider it as two sentences. "Many Perl developers aren't using databases effectively. Making reliable solutions is error prone and slow." Are these independent observations? Or are databases being used ineffectively _because_ making reliable solutions is ...? Or something else? | ||
dduncan | those are 2 related observations | 02:30 | |
putter | s/that makes/which makes/ I think, but that's exactly it. :) | ||
dduncan | or the second elaborates on the first | ||
in other words, many Perl developers are having an error prone and slow time making reliable databases, because they aren't using them effectively | 02:31 | ||
or it could be said that those are 2 symptoms of a problem, if not that one causes the other | 02:32 | ||
I could make them 2 sentences | |||
putter | ok, "effectively" needs a question, but first... | ||
re "makes it easy to create and use relational databases that are very reliable, powerful, portable, and efficient". So "Rosetta" doesn't work with databases that are unreliable, not particularly powerful, portable, or efficient? ;) | |||
dduncan | I admit, that is a bit of hyperbole. | 02:33 | |
it is explained further why this is the case, in the longer desc | 02:34 | ||
putter | oh, i see. i parsed databases as "oracle, mysql, etc". not "sales, customers, etc". | ||
dduncan | I could point form it a bit | ||
you are right | 02:35 | ||
putter | new framework? | ||
dduncan | yes and no | ||
02:35
stevan joined
|
|||
dduncan | its a rewrite of something I've been putting on cpan for the last 3 years | 02:35 | |
here's a bit of terminology ... | |||
1. Oracle, MySQL etc are "database management systems", or DBMSs | 02:36 | ||
2. sales, customers, etc are databases | |||
the former is an app and the latter is data it processes | |||
Rosetta is a DBMS | |||
perhaps I should add that detail | 02:37 | ||
now both long and short versions say: This talk introduces the "Rosetta" DBMS framework, ... | 02:38 | ||
dduncan has to go for dinner | |||
putter | This talk introduces the new "Rosetta" framework, which makes it easy to create and use relational databases in a very reliable, powerful, portable, and efficient way. Making reliable solutions need not be error prone and slow. You can easily use databases effectively. Perl 5 and 6 implementations. Includes examples of use. | 02:39 | |
This talk introduces the new "Rosetta" DBMS framework... | 02:40 | ||
perhaps something like that. enjoy dinner & | 02:41 | ||
re new, if the thing on cpan wasn't called "Rosetta", and the changes are substantial, then "new" fits. Regardless of whether you, the developer, see them as a one chain of evolution. Oh, better - the question is whether the audience, after hearing the talk, would consider it a "new" framework. | 02:44 | ||
tewk: re rusty p5, I writing p6 flavor p5. I suspect that will become a large scale occurrence at some point. :) | 02:48 | ||
putter goes look at OpTable... | |||
tewk: what is Match.rb's @corotine? | 02:53 | ||
tewk | that's from PGE, I think it allows the match to be executed again, need to go look. | 02:55 | |
putter | hmm... ok, question: | 02:57 | |
what's the "one liner" role breakdown for Rule vs OpTable vs Match? | 02:58 | ||
svnbot6 | r8983 | tewk++ | Attempt at moving OpTable to p5, feedback wanted | ||
putter notes we're going to collective have to come up with some scheme for differentiating references to "role" english vs perl6. and "grammar". it get's confusing. ;) | 02:59 | ||
tewk | I'm still learning the PGE model. | 03:00 | |
tewk looks at parrot PGE source | |||
putter notes PGE need not be a cannonical reference... | 03:02 | ||
re addtok.t, ooohhhhh, there all ops in the p6 _regexp_ optable... | 03:03 | ||
putter wasn't thinking about creating arbitrary operators in regexps... but in retrospect that seems a neat idea... | 03:04 | ||
tewk | Ok OpTable is used to parse P6Rules, p5regexp, etc I believe. | 03:05 | |
putter | makes sense | ||
tewk | You build up a parse tree that represents how a specific regex/rule will execute. | 03:06 | |
putter wonders how one declares (in p6) a whitespace operator... didn't think you could stack grammatical categories... macro whitespace:infix:<foo> (...) is parsed(...) {...} | |||
but then again, I'm fuzzy on grammatical categories | 03:07 | ||
tewk | In PGE the parse tree nodes are subtypes of Exp in Exp.pir. Walking the parse tree generates PIR code that evaluates the regex/rule. | 03:08 | |
putter | hmmm... | 03:09 | |
03:10
arcady joined
|
|||
putter | do you have feel for what gets done where? what in Match, Rule, and OpTable? | 03:11 | |
tewk | Somewhat, it's becoming clearer. Rule is a subtype of Match. | 03:12 | |
putter *blinks* | 03:13 | ||
"OPTable" is only mentioned once (I'm back to the rb sources). in it's class declaration. so there's a missing piece? | 03:14 | ||
putter goes over to parrot sources... | 03:15 | ||
tewk | There you go, stop looking at the ruby stuff and go look at PGE | ||
putter | didn't realize this stuff was coming from pge... | ||
actually, my biggest puzzle in this area is, | 03:16 | ||
tokens of the form is parsed(/<expr> foo <expr>/ ... the operator decent parser part doesn't care? either that the token is sucking stuff away from it (lhs), or absorbing expressions, perhaps to end of stream, on the rhs? it just gets dealt with by the token choice, and thus shift-reduce choice, being backtrackable? | 03:18 | ||
(oh, and the token itself being given a chance to backtrack itself) | 03:19 | ||
does that sound right, or am I missing something? | 03:20 | ||
putter has a hard time reading pir... :( | 03:21 | ||
local meaning is clear, larger scale less so | 03:22 | ||
tewk | is parsed(/<expr> foo <expr>/ ... ??? I'm trying to understand is this P6 code ? | ||
are you talking about parsing P6Rules or how P6Rules parse plain text ? | 03:24 | ||
putter | ah, ok, | 03:25 | |
dduncan is back | |||
putter, I saw your comments after I left ... processing ... | 03:26 | ||
putter, re newness, while the name Rosetta has been published for 3 years, the fact it never worked before and is being rewritten now to work soon, means that it is new for users | 03:28 | ||
so using the word "new" is appropriate | |||
even though the name is unchanged | |||
putter | p6 code: macro token:<lispish_call> (Match $m) is parsed(/ \( $<f>:=<expr> $<args>:=[ <ws> <expr> ]* \) /) { "$/<f>\({$/<args>.join(",")}\)" } takes 3 + (mult 2 4) to 3 + mult(2,4) | 03:29 | |
or something like that, I think | |||
the more interesting case is something like a token + <expr> + , ie, circumfix:<+ +>. if you cant backtrack through tokens and the oop, that gets odd. even then, that's odd. | 03:31 | ||
oh, my example lispish_call has bugs. used $/ rather than $m for example | 03:32 | ||
and actually, I don't know that token macros can be string returning macros. that's another complication. | 03:33 | ||
tewk | Ok I follow your example now. | 03:35 | |
putter | (this may be the only time that i've every been glad to have a parser engine with only a one token window. if the input stream is in flux... *eep*. nice, safe, one token at a time.) | ||
interesting to see pm's take on things. i've been considering Rules and Matches as much more declarative "places to hang stuff". Eg, while Rules need to be callable to match spec (i think, maybe), I imagine there will be multiple engine implemenations. and they can't be fighting over Rules. so perhaps a Rule ends up | 03:38 | ||
dduncan | putter, ... | 03:40 | |
deriving from your example, this is my new Short Description: | |||
This talk introduces the new "Rosetta" DBMS framework, which makes it easy to create and use relational databases in a very reliable, powerful, portable, and efficient way. Making reliable solutions need not be error prone and slow. Native Perl 5 and 6 implementations. Includes examples of use. | |||
47 words or so | |||
putter | a place to hang the pattern, information about what Rules where linked to it when the pattern compiled, various modules concepts of what an ast looks like, and various executable forms of the same. then compiled rules of form/vm/engine foo, can just look up Rule statement say, and ask (multi methods) for the version they can work with (or, if it doesnt exist yet, compile the pat, with its listed bindings, cache in the Rule, and... back t | 03:42 | |
dduncan: great :) | |||
i like | 03:43 | ||
much clearer | |||
dduncan | thanks to you | ||
putter | a second set of eyes is always a valuable resource :) | ||
dduncan | deff nut lee | ||
tewk | Why multiple engine implementations? | 03:46 | |
dduncan | that's the main way we get portability | ||
a separate engine optimized to a particular storage method | 03:47 | ||
one, called Native, is completely self contained | |||
some others will use various products like Oracle etc to do most of the work | |||
putter | I've been treating Match/es similarly. Though there it doesnt work as well. For instance, rx:perl5/(a\1)/ matches "aa". it think. ooooh. never mind, I know how to handle that case. but there are others, eg, | 03:48 | |
dduncan | in the latter case, if Rosetta reverse-engineers an existing database, it can (try to) use the existing database as is, or help migrate it to something else, like Postgres or whatever | 03:49 | |
putter | dduncan: I think he meant rules engines. :) but your answer worked right up to the Oracle part... ;) | ||
dduncan | well, Native will work the best, aside from speed issues resulting from not being written in C | 03:50 | |
putter | tewk: ... first principles? because if you can't have them, then tisntmtowtdi? ;) | ||
dduncan | the point is, separating interface from implementation lets several people have a whack at implementing it | ||
putter | exactly | ||
dduncan | and an engine is an implementation | 03:51 | |
putter | re Match, an issue I'm not really clear on is the relation between a Match, the thing which describes captures, and the "as yet unnamed"? thing which... wait, I've been here before, just a sec... | 03:53 | |
brain is tapioca. you have these pieces: a Grammar, a Rule, a search state thingy, which I don't think I've seen a name for?, and Matches. Rules may be multi methods or multi subs. I'm not sure how useful it is for a rule to be handed it's grammar, given that it's bindings are actually lexical, and thus may have no connection to it. | 03:56 | ||
Rule info - pattern, who got bound to it, ast's, executable forms, etc, can go in attributes. though at some point you find yourself wishing you can do type dispatch on the arguments to attributes, which... oh, wait. attributes are just role triggers which can suck in arbitrary fields. arg. | 03:59 | ||
putter keeps thinking of multi method/subs as not being real honest to goodness objects, which can have arbitrary extra data and methods. sigh. brain regresses to C. | 04:00 | ||
close to end of day for me I think. | 04:01 | ||
where were we? | |||
04:03
chen joined,
chen left
|
|||
putter | what I'd really like to have is a box I could pour operators with precedence info ("prec < infix:=") into, and could be asked "op1 <=> op2". ie, it manages the precedence graph. | 04:04 | |
dduncan | putter, unless you explicitly tell me otherwise, I'm mentioning that you (Mitchell N "putter" Charity) were my "second set of eyes" in the email I'm sending to the Oreilly people, having the updates for the proposal | 04:06 | |
as a credit of sorts, though I don't expect it to carry further than that | |||
04:06
justatheory joined
|
|||
putter | just a rev0. doing it for real is quite hard, as different branches of multi sub might have different precedences (so you would need to index by signature), and as you go in and out of lexical scopes, operators come into existence and go away. | 04:06 | |
dduncan | specifically I said ... | ||
Utilizing a second set of eyes (Mitchell N "putter" Charity), I have edited and/or rewrote some parts of my proposal, in particular, the short description, but also the long description has some changes. | 04:07 | ||
putter | oh, err, "I explicitly tell you otherwise". | ||
sorry, I... | |||
default to low profile. or try. | |||
dduncan | so I shall remove your name from the email? | ||
okay; remove you I shall ... | 04:08 | ||
putter | yes, thanks. sorry for the inconvenience. | ||
dduncan | and I'm sure you're glad I asked you | ||
putter | the other would have been fine to. just if given the choice... | ||
dduncan | what do you mean? | ||
putter | err, which part? | 04:09 | |
dduncan | "the other would have been fine too | ||
putter | "the other" == "email going out with me in it" | ||
dduncan | okay, so you're saying that leaving it as it was wouldn't have been a problem, but since I asked, you preferred to be left out? | ||
putter | yes, exaclty | 04:10 | |
exactly even | |||
dduncan | okay, sending ... | ||
putter | :) | ||
04:10
Daveman` joined
|
|||
putter | hmm... so is that the final cut of the body that goes in the catalog, or is there a later deadline for that... | 04:11 | |
dduncan | I expect there is more time | 04:12 | |
putter | ok | ||
dduncan | the brief summary should appear online on the first of April, if my talk is accepted | ||
putter | I'm just noticing "The daily work of many Perl developers involves databases, which their applications depend on to manage information, or to store their objects persistently." -> "The daily work of many Perl developers involves databases. Their applications depend on to manage information, or to store their objects persistently." | 04:13 | |
err, Their applications depend on them to manage information, or store objects persistently. | |||
04:14
Amnesiac joined
|
|||
dduncan | the longer one, I'm not sure ... actually, it'll probably appear then too | 04:14 | |
online that is, 'cause I think each talk has its own web page | |||
putter | the idea of breaking up a long, comma-ed sentence, down into 2 or 3 simpler ones, seems to apply to other parts of that first paragraph too. | 04:15 | |
dduncan | I hear that ... this isn't worth resending the proposal over, though | ||
I expect they would have their own edits to make too | |||
and not simply take mine verbatim | |||
putter | ok. I just note that if there is a printed version, the deadlines to get things off to the printer are sometimes surprisingly early. so one wants to avoid something there that in restrospect on might regret. random thought. | 04:16 | |
dduncan | I would expect them to not print these to paper any sooner than a month before the conference, which means late june at the earliest | 04:17 | |
more so because they are probably making changes themselves in the last days | |||
putter | re "their own edits"... that might be optimistic... being stretched thin for resources seems a universal property of conference organizatino... | ||
ah, ok | 04:18 | ||
dduncan | maybe, but the organizers *are* a major book publisher | ||
I'd expect them to just notice some things by habit | |||
putter | :) | 04:21 | |
tewk: too tired to think. are you going to be around tomorrow at all? | 04:23 | ||
tewk | Yep | ||
04:23
Daveman` is now known as Davemon
|
|||
putter | dduncan: neat talk. i probably will miss it, but look forward to the slides. :) | 04:25 | |
tewk: :) ok, see you then. | |||
g'night & | |||
04:26
amv_ joined
04:30
drbean joined
05:15
grayson joined
05:17
penk joined
05:53
r0nny joined
06:03
Medvekoma joined
07:07
justatheory joined
07:18
iblechbot joined
|
|||
audreyt | greetings | 07:48 | |
gaal | welcome, audreyt :) | 07:49 | |
audreyt | gaal++ # wonderful place | ||
(with instant-on tcp/ip) | |||
gaal | thanks! so cool to finally meet you in person | ||
audreyt | :D | ||
and connection to feather is much faster | |||
gaal | speed of light advantage. at leo's it'll probably be even better | 07:50 | |
szbalint | yeah. :) | ||
Its quite nice from here in .hu | |||
07:51
marmic joined
|
|||
GeJ | morning audreyt | 07:52 | |
svnbot6 | r8984 | Darren_Duncan++ | r2435@darren-duncans-power-mac-g4: darrenduncan | 2006-02-13 23:51:18 -0800 | ||
r8984 | Darren_Duncan++ | /ext/Rosetta : added docs/OSCON2006SessionProposal.txt, whose name should be self explanatory | |||
dduncan | I ditto that | ||
fyi, the committed new file is newer than that nopaste I did around 5 hours ago | 07:53 | ||
now that's bad grammar | |||
audreyt is still catching up email and stuff | 07:57 | ||
08:10
grayson joined
08:11
G2 joined
08:30
bsb joined
08:32
xern joined
|
|||
MrFarts | hey, could someone tell me what qw() means under perl 5 ? | 08:49 | |
08:50
lhooq joined
|
|||
GeJ | it's the quoting operator mostly used for list creation. But you'll be able to get more information on #perl. | 08:52 | |
this channel is perl6-related | |||
MrFarts | GeJ, thanks | 08:53 | |
GeJ | you're welcome | ||
08:54
drrho joined
08:58
leif joined
09:15
avar joined
|
|||
arcady | is IO in perl 6 asynchronous by default now? | 09:16 | |
09:25
xinming joined
|
|||
ayrnieu | arcady - I'd hope not. Why do you think it would be? | 09:34 | |
arcady | probably because I don't know how to do IO properly | ||
however, file handles seem to have a readline method | |||
which seems to be non-blocking | 09:35 | ||
returning undef if nothing has been read | |||
where is IO even documented? | 09:38 | ||
09:50
elmex joined
10:03
Odin-LAP joined
10:09
Aankhen`` joined,
Odin- joined
10:13
nnunley joined
10:44
wilx joined
|
|||
audreyt | short-term hackathon topics today with gaal | 11:00 | |
- finish recursive data structure in Data.Yaml.Syck | |||
- implement -CParse-YAML and convert precompiled prelude to use that | 11:01 | ||
- grok the book "the art of metaobject protocol" | |||
- resume journaling of recent developments | |||
wolverian | yay! audreyt++ and gaal++ | 11:02 | |
audreyt | :) | ||
theorb | Implement -CParse-YAML? I thought it was working weeks ago? | 11:05 | |
journal++ | |||
11:05
wilx`` joined
|
|||
integral | I don't think Parse-YAML produces everything you need for precomp at the moment, at least when I tried to get this working, I couldn't figure out how it would work :-/ | 11:06 | |
audreyt | it doesn't | 11:07 | |
because it doesn't handle tvars correctly | |||
integral | ah, that's why there's lots of gaps! | 11:08 | |
audreyt | to handle tvars we need to use stableptr to ensure that same tvars gets mitted as yaml anchors | 11:09 | |
also, DriFT.YAML needs a fromYaml form | 11:10 | ||
that part you can help, actually, if you've got tuits :) | |||
we'll start by porting my YAML::Syck (p5) logic of anchor resolution etc to haskell | |||
but he's off to return the car or something, so this will start in ~1.5hrs instead of now | 11:11 | ||
(and I get to take a timezone-adjusting short nap. maybe.) | |||
spinclad | audreyt: 1) YAML first makes lots of sense to me; 2) is targetting PIL2/PILN on the longer-term target screen? | 11:15 | |
audreyt | spinclad: we need to work out the pad structure first | 11:19 | |
that's the ->PILN blocker | |||
and also gaal's pet project blocker (variable export) | |||
spinclad | in particular, putter was remarking yesterday or so about PIL's unsupport of Class info, and thinking of working around that by consulting yaml, or even p5 regexing for it (!) | ||
audreyt | yes, I'm aware of that, and we need to remedy that on the compiler level | 11:20 | |
though definitely he can take -CParser-YAML when it's tehre | |||
spinclad | (the pad structure?) | ||
audreyt | because it's the same info pugs' main runtime uses | ||
pad structure is the "Pad" data structure that the compiler builds to refer each lexical pad to the outer one | 11:21 | ||
spinclad | ah, right, thx | ||
audreyt | and also controls symbol initiation, multi vs single dispatch, etc | ||
and we also need to add "proto" support | |||
so we can truly do class{...} as a closure just like S12 says | |||
spinclad | good-o. S12++ | 11:22 | |
audreyt | I'm glad to be back :) | ||
spinclad | as are all of us, I'm sure! | 11:23 | |
integral | audreyt++ # brilliant to have you back :) | ||
audreyt | my hope is by the time we hit the real hackatohn | ||
(~1wk from now) | |||
we'd have a concrete enough compartmentized low-hanging fruits for perl5 hackers there (~10 of them) to cobble together a perl5 runtime | 11:24 | ||
using p6 or hs or p5 or whatever else to fill in the gaps | |||
including reviving the Perl6-ObjectSpace PILN evaluator if needed | |||
and result in a runnable 6.28.0-level Perl 6, using perl5 as a virtual machine, by OSDC.il | 11:25 | ||
at least that's my pet plan. :) | |||
11:25
scook0 joined
|
|||
audreyt | (and if that works, it becomes much easier to stay in Leo's place afterwards, and port the same thing to parrot) | 11:25 | |
11:26
rantanplan_ joined
|
|||
audreyt | more details later in the journal :) | 11:26 | |
spinclad | :) :) | ||
audreyt | I'll brb :) | 11:27 | |
11:34
f joined
11:45
azuroth joined
11:46
G2 joined
12:05
drbean joined
12:09
iblechbot joined
12:14
xinming1983 joined
12:24
Odin- joined
12:26
xinming joined
12:41
drbean_ joined
13:05
azuroth joined
13:19
nnunley joined
13:51
gaal joined
13:52
Nouk joined
|
|||
audreyt | gaal: | 13:57 | |
autocmd BufNewFile,BufRead *.hsc setf haskell | |||
autocmd BufNewFile,BufRead *.hs-drift setf haskell | |||
azuroth wonders what the terminology for having multiple partitions (is same hard drive possible?) on one mount point is | 13:58 | ||
GeJ | audreyt: aren't you guys together currently? (/me is not sure to grok the mini-hackathon thingy) | 14:01 | |
gaal | azuroth: I think I've heard "multimount" used | ||
GeJ: we're approx. 1 foot away from each other now | |||
14:03
kanru joined
|
|||
azuroth | thanks gaal | 14:03 | |
GeJ | gaal: hum, oki. That's what I thought. hence my question about audrey pasting here instead of telling you offline | 14:04 | |
gaal | GeJ: useful for others as well :) | 14:05 | |
audreyt | and I don't think gaal has builtin voice recognition that turns voice into .vimrc | ||
if we do we'd be using ip-over-voice | |||
GeJ | audreyt: yes, I thought about the ^C^V thing but too late :) | 14:06 | |
azuroth | ip over voice. :D | ||
svnbot6 | r8985 | audreyt++ | * put a scary warning block of text to all DrIFT-generated | 14:21 | |
r8985 | audreyt++ | files so that people wouold not edit it and see their edits | |||
r8985 | audreyt++ | being reverted once the .hs-drift source file changes. | |||
14:24
Kattana joined
14:25
grayson joined
|
|||
svnbot6 | r8986 | audreyt++ | * Data.Yaml.Syck: emitting '~' should add quotes. | 14:27 | |
audreyt | ?eval '~'.yaml | 14:29 | |
14:29
evalbot_8966 is now known as evalbot_8985
|
|||
evalbot_8985 | "--- ~\n" | 14:29 | |
14:34
kolibrie joined
|
|||
audreyt | ?eval '~'.yaml | 14:34 | |
14:34
evalbot_8985 is now known as evalbot_8986
|
|||
evalbot_8986 | "--- \'~\'\n" | 14:34 | |
14:37
Qiang joined
|
|||
clkao | audreyt: do you fix yaml::syck.pm for ~ as well? | 14:44 | |
audreyt | clkao: sure | ||
I'm now backporting from YAML::Syck 0.33 | |||
14:47
drbean_ left
|
|||
clkao | cool. | 14:48 | |
audreyt | okay, backporting complete | 14:51 | |
now fixing dumping recursive structures. | |||
svnbot6 | r8987 | audreyt++ | * Upgrade syck to the same version as YAML::Syck 0.33. | 14:55 | |
14:55
vel6608 joined
15:18
chris2 joined
15:24
kanru joined
15:26
hexmode joined
15:27
estel joined
15:47
Aankhen`` joined
|
|||
svnbot6 | r8988 | audreyt++ | * Dumping recursive data structures in @foo.perl should now work properly. | 15:58 | |
16:06
dada joined
16:15
SamB joined
|
|||
svnbot6 | r8989 | audreyt++ | * don't emit the "$_:=" thing for nonrecursive data structures | 16:15 | |
r8989 | audreyt++ | in .perl. | |||
audreyt | ?eval my @a; @a = (1, \@a, [\@a]); @a.perl; | 16:16 | |
16:16
evalbot_8986 is now known as evalbot_8988
|
|||
evalbot_8988 | $_ := "\$_ := [1, \\\$_, [\\\$_,]]" | 16:16 | |
audreyt | ?eval my @a; @a = (1, \@a, [\@a]); say @a.perl; | 16:19 | |
evalbot_8988 | OUTPUT[$_ := [1, \$_, [\$_,]] ] $_ := bool::true | ||
16:31
TMTOWTDIt joined
|
|||
Java-er | Hello all | 16:33 | |
guys, is perl 6 backward compatiable ? | 16:34 | ||
audreyt | what do you mean? :) | ||
Java-er | compatible* | ||
audreyt | perl6 is specced to run perl5 intact | ||
svnbot6 | r8990 | gaal++ | * add fromYAML to DrIFT.YAML instances | ||
Java-er | this mean I can run perl 5 code with perl 6 ? | 16:35 | |
another question, does perl 6 use interpreter or virtual machine like java? | |||
audreyt | perl 6 compiles to a virtual machine | 16:36 | |
or rather, multiple virtual machines | |||
Java-er | like JVM ? | ||
audreyt | yeah, e.g. "Parrot" | ||
but we also compile to javascript and (soon) perl5 | |||
it's not impossible to compile to JVM if there is a need. | |||
Java-er | cool | 16:37 | |
what about PHP ? :) | |||
audreyt | again, if someone is willing, why not | ||
Java-er | last thing, are there any binaries for perl 6 or I have to build it myself ? | 16:38 | |
16:39
chris2 joined
16:40
elmex joined
|
|||
audreyt | what is your platform? | 16:42 | |
xinming | audreyt: in Prim.hs, for the `op1 slurp`, It seems must do decodeUtf8 first. :-P | 16:47 | |
Java-er: there are compiled binaries for win 32, and It isn't hard to compile on Linux. | 16:48 | ||
audreyt | xinming: ok, feel free to fix it | ||
xinming | audreyt: >_< I just say that, and I don't know how to fix it in fact, Ever tried to read Old pugs source, It's too far beyond my ability. >_< | 16:50 | |
God bless me... I am compiling the modified version... | 16:57 | ||
fixed... | 16:58 | ||
First commit in Pugs core source. :-P | 16:59 | ||
audreyt | yay | 17:00 | |
spinclad | ?eval my @a; @a = (1, \@a, [\@a]); say @a.perl; | 17:12 | |
17:12
evalbot_8988 is now known as evalbot_8990
|
|||
evalbot_8990 | OUTPUT[$_ := [1, \$_, [\$_,]] ] bool::true | 17:12 | |
17:13
nnunley_ joined
|
|||
bsb | audreyt: what is the "proto" support mentioned earlier? (or should I wait for the journal) | 17:14 | |
svnbot6 | r8991 | tewk++ | Continued exploration of porting PGE to P5 | 17:17 | |
r8992 | audreyt++ | * Data.Yaml.Syck: Support for emitting lazy (infinite, self-recursive) | |||
r8992 | audreyt++ | YamlNode structures. | |||
audreyt | bsb: see S12... | 17:18 | |
"proto" is a forward declartion of multis | 17:19 | ||
no multis can be more generic than proto | |||
it's in S12 | |||
I think | |||
dev.perl.org/perl6/doc/design/syn/S12.html | 17:20 | ||
bsb | Thanks, looking now | 17:21 | |
xinming | audreyt: will haskell' become 'haskell 2'? | 17:24 | |
audreyt | xinming: no, it will become "haskell 06" most probably | 17:27 | |
haskell 2 is more vague | |||
xinming | audreyt: hmm, So, haskell' will always become the newest haskell branch, and `haskell \d\d` will be the specified version, right? | 17:29 | |
audreyt | well, I'm not sure that will stay the case, but it's possible, yes | 17:31 | |
xinming | dist/build/libHSPugs-6.2.11.a(PIL2.o):(.rodata+0x5c)ld returned 1 exit status | ||
Build failed: 256 at util/build_pugs.pl line 178. | |||
make: *** [pugs] Error 2 | |||
... there are many lines like this. | |||
recompiling with `make clean'. bbl | 17:33 | ||
17:45
justatheory joined
|
|||
stevan | she's free from $work!!!!!! | 17:47 | |
stevan just finished backlogging :) | |||
hey audreyt, gaal :) | |||
audreyt | greetings :) | 17:48 | |
stevan ponders a falafel for lunch in a vain attempt to participate in the .il pre-hackathon | |||
xinming | lol, She needs sleep... Sleeplessness causes whelk | ||
:-P | 17:49 | ||
stevan | sleep is for post-hackathon :P | ||
stevan dumps his coffee grounds into his cup in a sad attempt to make turkish coffee | 17:50 | ||
17:53
rantanplan_ joined
|
|||
gaal | hey stevan! | 18:00 | |
audreyt | yo stevan | 18:02 | |
18:02
putter joined
|
|||
putter | "And then, its Miller^B^Whacking time." :) | 18:02 | |
audreyt | hey putter :) | ||
putter | hi audreyt :) | 18:03 | |
yay recursive .perl :) | 18:04 | ||
audreyt | recursive .yaml coming soon :) | 18:05 | |
then, precompiled prelude via yaml | |||
(and useful class composition info via -CParse-Yaml) | |||
clkao | WHOOT | 18:06 | |
putter | audreyt: what's the next level of detail on "precompiled prelude via yaml"....? | 18:07 | |
putter is intrigued, but fuzzy... | 18:08 | ||
s/fuzzy/hazy/ | |||
18:09
sili joined
|
|||
audreyt | putter: src/Pugs/PreludePC.hs is currently haskell expressions | 18:09 | |
huge ones | |||
just to handle construction of TVars | 18:10 | ||
it's a bad way to serialize Exp | |||
and load it back | |||
because there were no other ways to serialize the Exp | |||
(can't do it over pure expresisons as Exp contains sideeffectful storage) | |||
(via TVar contained in Pad/Sym) | |||
(and Val also) | |||
but now we have Yaml, we can just dump the prelude's parsed Exp as a .yaml | 18:12 | ||
and load it back during runtime | |||
putter | ah, ok. yamlified Exp. | 18:13 | |
svnbot6 | r8993 | yiyihu++ | Fix a bug which is while slurp a file contains utf8, Pugs can't display it correctly. | ||
putter | yiyihu++ | 18:14 | |
audreyt: so, you looked at the parser-on-p5 spike-in-progress? any feedback? | 18:15 | ||
(obviously, is currently just a p5 regexp engine using a rec-decent backtracking idiom...) | 18:17 | ||
I was thinking of trying to wrap up the spike today, with | 18:18 | ||
parsing a enough whitespace, statement_control, and token decls to do a parsetree for "say 3". Or maybe infix too, and "say 3 + 4 * 5". but I don't think i really understand how one writes an operator precedence parser which deals operators which have fixities. | 18:21 | ||
Have to go back to try to understand Pm's OpTable again. | 18:22 | ||
Anyone around who can lend me a clue? | |||
stevan dusts off an old clue he found under his desk and hands it to putter | 18:23 | ||
doubt it will do any good though | |||
putter thanks steven, turns it around, wonders how to open it. | |||
ah well. | |||
putter adds steven's clue to the clutter on his desk. you never know, it might be useful someday. | 18:24 | ||
stevan | :) | ||
putter | maybe I'll just spike a very simple oop. which will give the 3+4*5 parsetree. and worry making it real later. though that's a bit un-spikish. | 18:25 | |
audreyt | but useful-ish | 18:26 | |
putter | *chuckle* | ||
svnbot6 | r8994 | audreyt++ | * Dumping recursive YAML structures (currently only TVar) in DrIFT.YAML. | 18:29 | |
18:30
lhooq joined
18:32
bsb left
|
|||
svnbot6 | r8995 | audreyt++ | * Instead of using unsafePerformIO, DrIFT.YAML now | 18:35 | |
r8995 | audreyt++ | uses a proper reader monad to store the "seen" cache | |||
r8995 | audreyt++ | to handle recursive structures. | |||
r8996 | audreyt++ | * DrIFT.YAML: Generalize the asYAML instance for (TVar a) into | 18:50 | ||
r8996 | audreyt++ | asYAMLwith, which deals with anything that may (recursively) | |||
r8996 | audreyt++ | contain any other thing, as long as both have a YAML instance | |||
r8996 | audreyt++ | that goes with them. | |||
18:55
larsen joined
18:56
grayson joined
19:03
rantanplan_ joined
19:04
rantanplan_ joined
19:36
robkinyon joined
19:47
hexmode` joined,
putter joined
|
|||
putter | colabti.de/irclogger ++ | 19:47 | |
svnbot6 | r8997 | audreyt++ | syck.h: avoid redefinition of HAVE_STRING_H and HAVE_STDLIB_H. | 20:02 | |
r8998 | putter++ | regexp_engine_demo.pl - first cut at spike-ish support for <subrules> in p5 regexps. | |||
tewk | putter: what is a spike, a quick prototype. I hope to get my attempted port of PGE done this evening. today is a $THESIS day. | 20:04 | |
putter | does this look plausible, Snn/p6l-wise? token whitespace:<basic_whitespace> :perl5 { \s+ } | 20:05 | |
audreyt | putter: yes. | ||
putter | thanks :) | 20:08 | |
audreyt | whew. recursive .yaml dumping finally implemented | ||
gaal is working on VRef dumping; once that's there, we need only loading-Exp-from-YAML and the precomp prelude<->yaml cycle will be complete | 20:09 | ||
20:11
Ovid joined
|
|||
putter | which will remove the "can't add stuff to src/perl6/Prelude.pm because it makes the precompiling the prelude too slow" constraint. permitting Prim.hs to be gutted out to Prelude.pm. huzzah! | 20:11 | |
actually, which raises a question. what namespace do internals go in. Pugs::Internals is fine for a pugs-specific prelude. but for a backend-neutral one, perhaps something like Perl6::Internals? or somesuch? | 20:13 | ||
20:14
fglock joined
|
|||
putter | though Pugs::Internals could be taken as a "internals api standard" declaration | 20:14 | |
s/declaration/selection/ | |||
integral | if it's internals anything should be ok since nothing external should rely on it :) | ||
putter | ok, never mind ;) | ||
audreyt | and Perl6::Internals is funny | ||
Perl6::Prelude::* makes more sense probably | 20:15 | ||
but whatever works works :) | |||
putter | integral: the "hoped to be backend-nonspecific" src/perl6/Prelude.pm does/will rely in Internals | ||
s/in/on | |||
integral | sure, but it's still internal to the pugs project. It's not going to work with TPF's perl6 | ||
audreyt | if it is, then we are essentially speccing the runtime API any underlying runtime needs to provide | 20:16 | |
(which is what Pugs::Internals::* was meant to be) | |||
integral | I thought perl6-language didn't want a layered spec like that? | ||
audreyt | but that's not part of p6 language proper, so calling it Perl6::Internals would be a bit of misnomer | ||
integral: we are in vehement agreement | 20:17 | ||
putter | yes. at least partly in a good way. eg, with the math library, when a simple call to say a double sub sin can be separated from a more complex p6-side "it's a multi method, and takes Num, and...". | 20:18 | |
audreyt | *nod* | ||
putter | my "yes" was re "essentially speccing the runtime API" | ||
so Perl6::Prelude::SupportingApiPugs0 is a nice concept. with the current Pugs::Internals fine for now. | 20:21 | ||
20:21
cjeris joined
|
|||
audreyt | yes. | 20:21 | |
svnbot6 | r8999 | audreyt++ | * first cut (incomplete) of dumping recursive YAML | 20:23 | |
r8999 | audreyt++ | structures via .yaml. SYMID resolution still needs work. | |||
r8999 | audreyt++ | At least it doesn't infinite loop now... | |||
putter | multi infix:<+> ($a,$b) has precedence(:lt(infix:<+>)) {...} look plausible? I'm making up the precedence attribute. But I didn't quickly find a specced syntax... still looking... | 20:24 | |
audreyt | "is tighter", "is looser" | ||
S06 | |||
and "is equiv" | |||
I have to sleep now :-/ | |||
see you tomorrow :) | 20:25 | ||
*wave* & | |||
putter | awesome, thanks. | ||
good night & | |||
putter ponders that if audreyt was in GMT+0 or so, we might overlap more.. ;) | 20:26 | ||
fglock | hi putter | 20:28 | |
putter | hi fglock! long time no see | 20:31 | |
how goes? | |||
fglock | I was on vacation, and after that, too much $work | ||
now it's back to normal, I think :) | 20:32 | ||
spinclad | ?eval my @a; @a = (1, \@a, [\@a]); say @a.yaml; | 20:33 | |
20:33
evalbot_8990 is now known as evalbot_8999
|
|||
evalbot_8999 | OUTPUT[--- - 1 - - 1 - ~ - - ~ - - - 1 - ~ - - ~ ] bool::true | 20:33 | |
putter | good vacation? | ||
fglock | I was on the beach for almost a month. I'll start my PhD on march - I'm anxious about it | ||
20:33
Amnesiac joined
|
|||
putter wonders if the yaml output is Morse encoded... | 20:33 | ||
fglock: ooo. what country? | 20:34 | ||
fglock | south of Brazil | ||
putter | lol. err, the phd. though the beach sounds nice too ;) | 20:35 | |
fglock | Brazil too - I'll be working on a wearable device to monitor neurological patients | 20:36 | |
putter | macro statement_control:<simple_call> (Match $m --> Match) is parsed(rx:perl5:w/<identifier> <expr>;/) {$m} look plausible? | 20:37 | |
Brazil has a us model phd system? | 20:38 | ||
spinclad | I hear that long coast from Rio south is pretty damn nice | ||
putter | s/us/US/ | ||
20:38
nnunley_ is now known as nnunley
|
|||
spinclad finds the yaml version of @a less compelling than the perl... | 20:38 | ||
putter | fglock: monitor neurologically? | ||
fglock | putter: I think it is more or less the same system - about 4 years work, and a thesis | 20:39 | |
it's in the Medicine School - Experimental Neurology - they make drug trials for epilepsy | 20:40 | ||
20:40
Khisanth joined
|
|||
putter | so the monitoring is... mobile EEG? | 20:41 | |
fglock | yes, with wireless communications | ||
putter | spinclad: nice == big, unbuiltup, beautiful, warm? | 20:42 | |
fglock | spinclad: it's a bit more south - colder water here, but very sunny | 20:43 | |
spinclad | near sao paulo or farther south toward uruguay? | ||
putter | fglock: ah. hmm. i very fuzziliy recall someone talking about doing that around boston... Is this a thing which has been done, and the thesis is a variation on a theme, or the thesis breaking new ground? | 20:44 | |
fglock | Porto Alegre - near Uruguay. The beach was Capōæ½xE3o da Canoa | ||
spinclad | nice as in beautiful and warm in climate and people (but I've never been there myself) | 20:45 | |
fglock | putter: EEG has been done many times, and portable monitoring too. I hope I can find something new enough about it | ||
putter | a Porto Alegre webcam? :) www.wcams.com.br/camera3_eng.htm | 20:46 | |
fglock | it's night, you can't see anything :) | 20:47 | |
we will have YAPC::Brasil in april - it would be a good time to visit here | 20:48 | ||
putter | that can't be the right thing: I find my self wanting to write rule simple_call :perl5:w { <identifier> <expr>; } | 20:51 | |
macro statement_control:<simple_call> (Match $m --> Match) is parsed(rx:perl5/<simple_call>/) {$m} | |||
so the Match get's set up correctly. hmm... | |||
I suppose it could be the right thing... | 20:52 | ||
fglock is trying to understand it | 20:54 | ||
putter | statement_control: means it gets added to the list of things tried by <statement> in the p6 source grammar. | 20:58 | |
fglock | putter: how is $m bound in the macro, given this rule? | 20:59 | |
putter | is parsed(//) gives a rule to match it's syntax against the input stream. only macros can do "is parsed", so that makes it a macro. | ||
yes. not specced, but it seemed plausible. | 21:00 | ||
s/not specced/i dont remember seeing it specced but havent really looked too hard/ | |||
macros can return strings, and as-yet-undefined ast's... I'm hoping maybe Match's too. or at least for this spike they can, since I don't want string, and I can't deal with the complication of asts. | 21:02 | ||
hmm... or, i guess i'm just using Match as my ast node type..? | 21:04 | ||
fglock | ok, I found out that the rule will parse $m - which means $m is a string? | ||
putter | huh? | 21:05 | |
$m is the Match object returned by successfully calling the "is parsed" rule on the input stream | |||
though it's probably not what your asking, Match objects do stringify if you ask them to, but here that would be problematic, since it would stringify to the original code, and the parser would try again, and loop(?). | 21:07 | ||
the parser will be looking at input "say 3; ...", and have gone down from <Perl.prog> to <Perl.statement>, and be trying to find something to eat more of the input. It will try all the whitespace:foo tokens, and then all the statement_control: macros. it will try macro statement_control:<mumble>, whose is parsed regex /<simple_call>/ will match, so it will call the | 21:11 | ||
21:12
Ovid joined
|
|||
putter | macro with the Match result, and... well, normally it would get back either ast, which it would collect, or string, which it would stick back on the front of the input stream. for my spike at least, the Match object is also serving as the ast object, so the parser just collects it. | 21:12 | |
fglock | what you wrote is the same as "macro statement_control:<simple_call> is parsed(rx:perl5/<simple_call>/) {$_}" but with named args? | 21:15 | |
putter | so the objective is for "say 3" =~ /<Perl.prog>/ to return a Match tree vaguely like {RULE=>'Perl.prog',statements=>{RULE=>'mumble',identifier=>{RULE=>'identifier',str=>'say'},expr=>{RULE=>'literal_integer',str=>'3'}}} | 21:16 | |
21:16
dduncan joined
|
|||
putter | fglock: only if sub/macro parameter lists are optional... which I kind of doubt, but could be wrong. | 21:18 | |
my example is better written as: macro statement_control:<mumble> (Match $m --> Match) is parsed(rx:perl5/<simple_call>/) {$m} | 21:19 | ||
(the two uses of "simple_call" were actually in different namespaces. but giving them (the macro and the rule) different names avoids confusion. | 21:20 | ||
fglock | I have to go - I'll read misc/pX off-line | 21:26 | |
21:27
fglock left
|
|||
putter | fglock: ah, ok. hopefully a bit more there by end of day. cheers | 21:31 | |
21:34
justatheory joined
21:40
DesreveR joined
22:03
DesreveR is now known as r0nny
22:53
stennie joined
23:02
sapper joined
23:08
drbean joined
|
|||
dduncan | this may be expected, but currently pugs won't build for me with a plain "svk pull" and "make" | 23:11 | |
warnings at compile time may not be an issue, but it seems to be a linking problem that kills it | 23:12 | ||
its related to 4 undefined Yaml related symbols | |||
but I don't need to run Pugs now anyway, or for awhile, so nothing needs to be done for my benefit | 23:13 | ||
my report is just fyi | |||
23:44
carlos-the-man joined
|
|||
carlos-the-man | hi guys! is it possible to trnaslate this P.O.S. into an .htaccess file? my webhosting provider is giving me a hard time pastebin.com/555177 | 23:44 | |
23:52
TMTOWTDIt left
|
|||
cognominal | carlos-the-man: EWRONGCHANNEL this is not a channel about hosting or mod_perl, it is a development channel about a future version of Perl | 23:56 | |
carlos-the-man | oh, sorry | 23:57 |