6.2.7 released! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste: sial.org/pbot/perl6 | Chip needs help!!! www.geeksunite.net
Set by kungfuftr on 30 June 2005.
Khisanth grabs an aluminum bat and heads for autrijus' current location 00:04
Limbic_Region autrijus - I taught myself how to turn off my internal dialog. It doesn't always work because as soon as you start to relax into sleep it jumps right back in. Usually need a combination of turning off the dialog along with no mental activity 2 hours prior to sleep 00:13
meppl why is in the examples no ~~ m/bla/ ? 00:14
only m:perl5/.../
autrijus meppl: the rules support depends on (currently) trunk parrot (which will become 0.2.2 soon) 00:15
meppl oh, okay
autrijus but you are entirely free to commit examples/rules/
that'd be helpful
Limbic_Region speaking of which - I assume you aren't planning another release until you are back to being on the other side of the world? 00:16
autrijus I was initially planning another release, but my brain state doesn't seem to allow for it
meppl okee 00:17
clkao the perl5 stuff seems to be broken badly 00:22
segfault on array.t
but startup seems to be faster.. preludeis compiled now?
stevan pdcawley: the metamodel you refactored seems to be an older version 00:40
the newest version was checked in last night (which is probably your early yesterday morning maybe) 00:41
pdcawley: however, i will review the refactoring you did, and try to incorporate it 00:42
pdcawley: as for "how much can I refactor", my usual answer is "as much as you like, as long as all the tests still pass" :)
autrijus nothingm1ch: back from the walk? 00:58
nothingm1ch is really impossible. :) 01:21
he misremembered his flight date -- it is actually taking off in less than 2 hours, instead of tomorrow this time 01:22
so he's now scrambling to pack and chase the plane.
autrijus wonders if the plane will wait for him
obra oh shit.
autrijus indeed
obra what's the flight #? 01:23
autrijus no idea... I don't think he's in the mood of answering that
I'm glad I was double-checking my plane ticket, which seemed to prompt him doing the same
obra *nod*
autrijus (my flight, on the other hand, takes off in 11 hours)
obra (Was thinking it might make sense to see if the flight is delayed)
autrijus Malev 97 01:24
(flight number)
obra *nod*
spinclad bonne chance et bon voyage -- i hope he's safely out the door. customs to go through? 01:54
autrijus I think he'll do fine 02:00
he said he'll ping back at #perl6 in Budapest airport
(and commit in new html matrix code that lets us do revision diffs) 02:01
(and platforms diffs)
spinclad *whews*
(and other higher-dimensional functors on the code) 02:03
nothingmuch bah 04:07
sili_ bah bah black sheep have you got any wool 04:08
nothingmuch my flight was overbooked
the moral of the story is: airlines will do anything to make you happy
instead of a connection through budapest i have a direct flight tomorrow
first classx
and i got $665 cds 04:09
cdn
just for 'agreeing' to stay
i get to israel in normal people time
and the flight is more convenient
autrijus ...and he also got to wake me up from sleep and force me to sign his openpgp key
nothingmuch and i'm getting paid back almost the full price of the flight
yeah, i remembered I needed to do that
autrijus and then promptly dumped me back to sleep while he get to show off in #perl6
nothingmuch autrijus said "i can just find the fingerprint on the wiki" 04:10
so much for security, eh?
autrijus mumbles something about karma and fate etc and went back to sleep
nothingmuch grr
now my plane will crash because of autrijus
QtPlatypus Has someone written out the grammer for Perl6 in the form of Perl6 rules? 04:18
nothingmuch seen chip 04:36
jabbot nothingmuch: chip was seen 4 days 12 hours 36 minutes 50 seconds ago
obra nothingmuch++ # social engineering 04:52
nothingmuch obra: thanks =) 04:59
QtPlatypus is attempting to write some of pugs/examples/cookbook "I'm trying to follow the 'Perl Cookbook' but some of it doesn't make sence in Perl6, should I rephrase the requirement in the way that makes sense in perl6?
nothingmuch not that I did anything..
=
)
i just seemed a bit worried, so they were extra persuasive
and then I made sure I had a direct flight, and not the same connection
cwest So I need to know. What is the status of Perl 6 rules via pugs? 05:28
QtPlatypus cwest: In what sence? 05:31
Khisanth cwest: I think you want #parrot on perl.org :)
cwest do I? 05:32
I want to know if I can write Pelr 6 rules using pugs so I can build a parser that targets parrot via perl 6.
or can I throw grammars right at parrot?
Khisanth well I don't think you will be able to use anything not yet implemented in PGE :) 05:33
cwest I was hoping for an easy answer. It sounds like you're trying to say that pugs has not implemented that. 05:34
Which is cool. 05:35
My javascript parser will just target perl 5 for today.
Khisanth not sure what you mean by that but you can use the rules through PGE if you also have parrot 05:36
cwest What I need is to use the source.
nothingmuch cwest: you're a javascript dude, right? 05:39
cwest I'm becomming one. :-)
nothingmuch maybe you can help me with some DOM crap?
cwest Soon I'll be one of you though.
nothingmuch =).
damn . key
cwest Ah, I'm not that good, but I'll give it a go.
Khisanth hmm trying to use the rules right causes a segfault :/ 05:40
cwest heh
Khisanth err right now
get_pmc_keyed() not implemented in class 'String'
cwest I was thinking that I could get my code to PIL really easy by running rules, which would also make a parser easy.
nothingmuch i need to have a <tr>...</tr>
which represents a single line of smoke results 05:41
like in nothingmuch.woobling.org/pugs_test_status
QtPlatypus The big thing that isn't working is closures in rules.
nothingmuch a single line can contain multiple rows of test cells - they are in a nested table
anywho, upon clicking some little javascript button, the two cells on the left are rowspan=n
Khisanth QtPlatypus: "a" ~~ /<[a-z]>/ works for you?
nothingmuch and then there are n rows, with a line of cell-tables per each one 05:42
for some cases the "expanded" view is the default
QtPlatypus No but
"a" ~~ /<[a..z]>/ does
cwest huh 05:43
I do not see any expanded views. 05:44
Nor do I see a way to create them. :-/
nothingmuch that's what i'm working on right now =) 05:45
cwest oh right.
Khisanth QtPlatypus: which revision? 05:46
cwest so you need to get at the dom to do this.
nothingmuch right
QtPlatypus tried to do something by doing. /(<[a..z]>) {something($/[0])}/ but it doesn't work for me
nothingmuch and I don't even know how to generate the HTML
cwest Do you have an example of the extended entry anywhere? 05:47
nothingmuch let me try to hack something... 3 mins
QtPlatypus r5117 with 0.2.1 Parrot
cwest and do you have control of the thing that is generating this current html?
Khisanth QtPlatypus: I was trying with r5084 05:48
QtPlatypus Khisanth: Make sure you have checked out the most recent Parrot. pug's rules are implemented via the PGE. 05:49
Which comes with Parrot.
Khisanth QtPlatypus: heh see scrollback ;) 05:50
nothingmuch nothingmuch.woobling.org/example.html
cwest nothingmuch: minor nit, align the text in the Test file row(s) to the top. 05:51
okay, so we could do this I think.
One way to do it is to also embed the table full of extended rows in the Test cases table cell. 05:52
Then toggle the view of either of them with the +/- links.
nothingmuch that is, have an expanded row version, and a collapsed row version of each thing? 05:53
i like that, let me hack it in
cwest yes
nothingmuch btw, is there any way to group several rows?
reload the example
QtPlatypus Has perl6's grammer been written in perl6 grammer yet?
cwest Now, when you hack that in you need to keep an iterator and add id='' attributes to each of the tables. 05:54
QtPlatypus Has perl6's grammer been written as a perl6 grammer yet?
nothingmuch you see in 'dummy.t', which is inconsistent, because some tests fail in one version but not in the other, there's a border around the box
cwest So for example, 'extended-006' and 'collapsed-006'
nothingmuch and also one inside the box
okay, makes sense
cwest right, we could do that. we just need to be creative.
So you have either pass, fail, or parital states for a test run. 05:55
nothingmuch uh, that's scary ;-)
say again?
cwest Right.
Either you have 100% pass, 100% fail or something in between.
The something in between "all good" and "all bad" is what you want to set appart. 05:56
er, apart.
nothingmuch oh, no, not exactly
cwest so generate a class="inconsistent" for each <tr> row that is inconsistent.
nothingmuch this is supposed to display multiple reports in the same file
where test files that don't agree between reports 05:57
that is, test case 10 of file cwd.t failed on windows
cwest Okay
nothingmuch it's a sort of diff of test reports
cwest So in what condition do you want t/dummy.t to be highlighted?
nothingmuch can I say '<tr><td rowspan=2>...</td></tr><tr>...</tr>' and because the first tr doesn't have all the required <tds> it gets displayed on the same line? 05:58
in the current example, one test randomly failed - the first one
in one version
but everything passed in the first version
of dummy.t
on the other hand path.t fails the same way 05:59
so it's consistent
consistent cases get folded
inconsistent ones are expanded
cwest Okay, so anything with yellow on the far right is inconsistent?
nothingmuch nope =)
look at paths.t
it's consistent 06:00
cwest okay (sorry)
okay, because the failures line up?
nothingmuch right
cwest Bingo
alright.
When generating a row for a test file, do you know this state ahead of time?
nothingmuch yes 06:01
cwest excellent, then you can use that to set a class='inconsistent' attribute on the table row containing your test file information. 06:02
nothingmuch yup
my problem is mainly with structure
oh wait, I have an idea on how to simplify 06:03
cwest okay, in that case I would suggest that in the table sell after the OK/FAILED/SKIPPED cell, just put both tables.
Both the expanded and collapsed tables.
One right after the other.
nothingmuch one table is hidden, and 'toggle' just swaps table rows with the same index? 06:04
cwest yes exactly
openjsan.org/js/DOM/Display.js -- this class will get your javascript most of the way there.
It may be a little heavy but it's well encapsulated. 06:05
nothingmuch goody
cwest also, uncomment the first commented line. if you aren't using my JSAN library that's a bug.
(oops) 06:06
nothingmuch okies 06:07
cwest So if you go one further and use <noscript> tags to give headings to each table, this will make your testing system look really sexy to non-js browsers.
They'll get both outputs but it'll be very understandable.
But honestly, who uses that old crap anymore? 06:09
QtPlatypus waves his hand. 06:10
QtPlatypus uses lynx rather then javascript. 06:11
QtPlatypus uses lynx rather then a javascript enabled browser.
cwest no, you're just playing devil's advocate. :-) 06:12
Anyway, it'll work is the poing (and links has js support)
s/poing/point/ 06:13
QtPlatypus uses it because he mostly hits text heavy sites and I can run it under screen. 06:14
I hate being forced to use a graphical browser.
cwest that's okay, I hate testing javascript in a browser 06:15
nothingmuch hmm..... 06:21
reload... some progress
cwest & # on sec 06:24
what would you put in some_text? 06:25
nothingmuch something that distinguishes the result sets 06:26
like 'Windows, perl version', or whatever
cwest okay
nothingmuch now I'm workiong on omitting the expanded view when there's nothing to show 06:27
cwest is hacking the js for you 06:28
nothingmuch ooh lah lah 06:29
cwest: do you use darcs? 06:30
cwest I've never done.
but why not start. 06:31
nothingmuch =)
go fetch a binary from darcs.net
then do 'darcs get nothingmuch.woobling.org/Test-TAP-Model'
and 'darcs get nothingmuch.woobling.org/Test-TAP-HTMLMatrix'
Khisanth hmm 06:32
nothingmuch (you can browse these URLs without darcs)
cwest okay
Khisanth QtPlatypus: still segfaults with 5137
QtPlatypus Khisanth: Odd. Latest parrot check out? 06:35
nothingmuch cwest: to get example.html working I run: perl -Ilib -I ../Test-TAP-Model/lib example.pl && open example.html
Khisanth yes 06:36
nothingmuch example.pl will run the test suite foor Test-TAP-HTMLMatrix, once normally, and once with $ENV{TEST_FAIL_RANDOMLY}
which causes t/dummy.t to spew out failures
whenever the class of the rows is 'normal' it should be collapsed by default 06:37
and whenever it's 'diff' it should be expanded by default
QtPlatypus Khisanth: Thats odd. Did you embed parrot or run it indepentely? Also how much memory do you have? I've noticed that with some of my more complex rules PGE's memory usage explodes. 06:38
nothingmuch cwest: i'm tired, and you should also be 06:39
want to continue tomorrow?
stevan: darcs pull for initial consolidated view
Khisanth <[a-z]> is complex? :)
QtPlatypus: hmm embeded 06:40
QtPlatypus Khisanth: It isn't. Have you tried <[a..z]> ? 06:41
Khisanth also segfaults
Rev. 8489 of parrot
cwest caseywest.com/code/tap.html
That shows the toggles (I just grabbed your source)
only working on dummy.t
nothingmuch cwest++; # you rock! 06:42
QtPlatypus Odd.
nothingmuch i'll integrate and generalize tomorrow before my flight
stevan: check out caseywest.com/code/tap.html and nothingmuch.woobling.org/example.html
cwest nothingmuch: If you look at the inline <script> you can see that I defaulted to the collapsed but I'm sure you can see that the templates could default based on the logic the generator knows. 06:43
cwest is working out the darcs thing now 06:44
gaal morning!
cwest *nod* 06:45
[cwest@espresso code]$ darcs get nothingmuch.woobling.org/Test-TAP-Model 06:46
dyld: Library not loaded: ../GMP.framework/Versions/A/GMP
Referenced from: /usr/local/bin/darcs
Reason: image not found
Trace/BPT trap
this would happen to me
cwest also need ghc 06:48
I'm behind I guess. :-)
nothingmuch morning gaal 06:56
cwest: your diagnosis that you need a ghc is correct
cwest: as for defaultness - yup
gaal nm: cool story about the flight, i hope you're not too flustered though! 06:59
cwest installs ghc package 07:00
QtPlatypus ?eval my Int $anint = +"Not a number, not even NaN";$anint
evalbot6 \0.0
cwest Copying patch 4 of 49... 07:02
darcs failed: Failed to download URL nothingmuch.woobling.org/Test-TAP-H...793aa9f.gz
libcurl: HTTP error (404?)
?
nothingmuch uh, odd 07:03
i'll zap that repo and repush
cwest yeah, after four, consistently.
okay
nothingmuch try now 07:04
ok, we're getting there... reload example.
(no js yet, but we have IDs) 07:05
cwest cool.
Once I get this stuff I think it'll be a quicky.
Plus this is giving me time to read the darcs manual. ;-) 07:06
okay, got it all.
nothingmuch heh =)
cwest is installing deps 07:08
nothingmuch hmm... new direction:
walk the table
no multiple 'var toggle00x'
just set it
and then supply two functions.
makes sense?
cwest yeah. walk each child, getAttribute('id') for the table rows, getAttribute('class').split(/\s+/) for finding the diff class. 07:09
I think it's pretty doable.
nothingmuch okay 07:10
cwest Are you doing this or just giving me suggestions?
nothingmuch i'm googling for this stuff
i'll have a go
cwest ah, of course.
cool
nothingmuch if i don't have something in 10 minutes I'll delegate =)_
cwest mkay
nothingmuch how do i compare strings in JS? 07:13
cwest == 07:14
gaal nm, your monad-fu requested at sial.org/pbot/11479 07:15
cwest hrm, I can't get my local copy to get the [+]/[-] stuff output, even though I know that I can see it in template.html
nothingmuch gaal: okay, one sec 07:17
hmm..... maybe i didn't check in enough changes
gaal there's another error about no instance for (Functor TVar)
nothingmuch cwest: give me 2-3 mins, and i'll slap everything together, and recommit 07:18
cwest cool
nothingmuch uh, my Run.hs is not 546 lines long... 07:19
what's the enclosing function's type signature?
i also can't find ^glob in there
gaal true. this code is from the output of pugs -CPugs src/perl6/Prelude.pm, which i had more or less slapped there
nothingmuch ah
so can you show me the full signature of glob? 07:20
gaal hmmm, no :) it isn't generated
nothingmuch eep
gaal but i'll see if i can figure it out
ooooofff, pugscc itself doesn't work on win32, what a pain in the ass 07:21
cwest (I like darcs now, btw :-)
nothingmuch cwest: it's very nice =) 07:22
the UI is wonderful
it's like SVK, but for dumdums
gaal: eep... i think this is too much for me... i can't infer all that myself
autrijus's taxi leaves in 3 hours 07:23
maybe he can help
cwest if course this now means I'm using darcs, svn, and cvs all at the same time. I have an editor problem like that too, using emacs, vim, and textwrangler all at various times.
gaal he looks like he can use some rest :)
but if you can tell him to take a look at it, well, cool 07:24
nothingmuch cwest: why are there numerous toggle00x objects? 07:27
gaal: he is during deep power cycling
(asleep right now)
cwest nothingmuch: each one represents a group of things to be toggled. 07:28
gaal figured
nothingmuch i think he slept around 20+ hours since he left the hotel
cwest nothingmuch: However that was the KISS model.
nothingmuch cwest: oh
i need to reread your code
cwest It may not /need/ to be improved but it can be.
Yeah, it's just the dummy.t records
nothingmuch does .split(regex) return a list/ 07:29
cwest I added <tbody> tags for each *group* (1 collapsed + 1 expanded), and the <script> tags to set up the DOM.Display objects.
yes it does.
nothingmuch yeah, i used tbody
var elems = id.split('_')
if (elems[0] == 'collapsed') 07:30
?
cwest yes
exactly
nothingmuch how do i concat a string? 07:31
+?
sili_ yes
cwest yes
and if you're going there, .join() *returns* an object with two strings joined on a delimiter. 07:32
nothingmuch okay 07:34
can i query a toggle for whether an element is hidden or shown?
i guess I could write toggle() function that just swaps the bits 07:35
cwest no 07:36
add this to the class def
isShown: function (id) {
var elem = document.getElementById(id);
if (elem.style.display == "none") return false;
return true;
}
(sorry for not using nopaste)
nothingmuch i think i have a simpler solution 07:37
cwest okay
nothingmuch how do i enumerate a register?
cwest I did conceed that DOM.Display could be overkill here. ;-)
nothingmuch no, it's pretty convenient
cwest for (var i in register.properties)
there is an example in the definition of showOnlyElement 07:38
also
nothingmuch hmm 07:40
debug help
reload example.html
spinclad btw i usually have js turned off in my browser (mozilla 1.7.8), which tends to die fairly quickly if i have it on.
nothingmuch spinclad: the js is quite optional 07:41
all the data is there otherwise
i'll add an option to make it prerendered, so that there's no JS at all
but then you can't have access to all the data, but it does look pretty
spinclad sure, i heard. just another data point for an old question.
cwest s/.properties// in your for loop.
also, a comma after the function declaration for registerElement. 07:42
That might do it.
And I'm stealing that for myself. ;-)
spinclad and thanks 07:44
nothingmuch toggleDisp() is not being called... I don't get any alert.... odd.
cwest you have a parser error
at least in the version on nm.woo...
nothingmuch i'll upload the revised one 07:45
how do I see parse errors in browser foo?
nevermind
cwest okay 07:48
I'm fixing a bunch of stuff.
nothingmuch getElemById => what is the real method name?
cwest you may want to diff/patch off of caseywest.com/code/exmaple.html
getElementsById
nothingmuch oh, element
cwest class is a reserved word.
nothingmuch yeah, i got that far =) 07:49
cwest You were writing perl 6 or java or something. ;-)
var i = 0; instead of int i = 0;
or C
nothingmuch C i guess
404
cwest so you need ot run this stuff inside of an onload function.
sorry, here: caseywest.com/code/tap.html 07:50
nothingmuch i do that
reload
wait, not yet 07:51
okay
cwest heh, okay
nothingmuch getChildNodes is appearantly bull
i wonder where I googled that off
cwest I'm looking this up 07:52
childNodes
which is a list
so you can just copy it
var bodies = matrix.getChildNodes; 07:53
nothingmuch yep
cwest er, crap
matrix.childNodes;
nothingmuch and then bodies.length and bodies[i]
?
cwest yes
nothingmuch "matrix.childNodes is not a function"
cwest no, do not use () 07:54
nothingmuch ah
C++
=)
cwest :-)
"Once you know one, you know them all..." -- bull
nothingmuch too many languages == confusion
once you know em all they all become one
and then you know a part of each
cwest yep
nothingmuch getAttribute is now not a function... does it have a nicer name? 07:55
var elm_cls = body.getAttribute('class');
sili_ ya like i know the php and the other day i tried to s/re_for_line_at_end_of_string//
cwest I'm told there is an .attributes method 07:56
or accessor
perhaps .attributes[id]
nothingmuch eek
cwest s/id/class/
nothingmuch oh wait, that's not magic
that's an associative array
i forgot that [] is really an operator
body.attributes has no properties 07:57
maybe body is a reserved word too?
cwest attributes["class"].nodeValue.split(/_/)
give that a go
nothingmuch as a method of body?
cwest yes 07:58
nothingmuch same
cwest bah 07:59
so what happens if you alert(body.attributes.length); as a first debug step?
oh, and I think you want var body = bodies[i]; 08:00
nothingmuch i did say that
which makes it very odd 08:01
cwest and bodies.length in the for condition
I think you weren't reading dom docs but perhaps actually IE docs.
nothingmuch oh 08:02
=)
cwest getId probably should not work either. 08:03
nothingmuch right 08:05
body.className works
cwest cool 08:07
so getAttribute() should totally work onw 08:09
s/onw/now
nothingmuch how do i check for definedness? 08:11
cwest == undefined
!= undefined
but sadly some things can be null
you may want to check first
I have confirmed getAttribute('id') will work. 08:12
So does .id
body.id
nothingmuch i'm using body.id 08:13
cwest rock
must be close
nothingmuch hmm 08:16
cwest ? 08:17
nothingmuch reload
i don't know why this isn't working now
cwest body.id is either undfined or empty 08:19
nothingmuch eek
that's weird, i had an alert there, and it usually displayed OK
cwest or collapsed_N
nothingmuch i think you're right 08:20
cwest you need to skip certain node types
nothingmuch if (split_id[0] == 'expanded') {
alert('got a body with id ' + elm_id);
that alerts properly
cwest so body.nodeType == 1; // this is an element
you are getting other types like text 08:21
nothingmuch oh
cwest if (body.id && body.nodeType == 1) {
nothingmuch yup 08:22
doesn't work yet
cwest but I am not getting the toggle either
nothingmuch oh! i think i got it 08:23
cwest oh 08:24
nothingmuch yes1
cwest hideElement(body.id)
nothingmuch right
cwest same for the showOnly one, but I'm sure you got htat
nothingmuch now to see why toggleOnly
doesn't work 08:25
cwest you need
var elem = document.getElementById(id);
at the top of toggleHidden
nothingmuch oh, because registry contains ids
cwest and the function should accept (id) 08:26
(still doesn't fix links)
but I got the initial collapsing working
nothingmuch wait, why does the function need to accept (id)? 08:27
cwest oh, no, you're right
var elem = document.getElementById(i); 08:28
inside the for loop
nothingmuch the register iteration thing is not working
for (var id in this.register) {
alert('i got ' + id + ' from the regiser');
no alerts when clicking
or invoking manually using javascript: scheme
cwest bah 08:29
nothingmuch what is the {} structure called?
cwest showOnlyElement works, I know that for sure.
That's an object.
nothingmuch cute =)
i'm assuming a copy of the root object?
gaal nothingmuch, is autrijus up? 08:30
cwest if by that you mean new Object() then yes
nothingmuch gaal: nope.... try again in 1 hour
cwest I could have said: register: new Object(),
nothingmuch okay
how is this.register an associative array? [] on object does arbitrary property access?
gaal thanks. i got past the compilation problems, but now i have env problems. they're essentially Reader questions, maybe you can help! 08:31
cwest nothingmuch: yes it does
gaal i managed to inline the precompiled prelude (manually, so far), and have it actually run when pugs loads
problem is (i think) it gets its own env
nothingmuch hmm... i wonder why it's not actually doing anything
gaal: i'll let him know
if i am not 100% zonked when he wakes me up 08:32
gaal so i need to do some "local" magickery for the results of the evaluation to actually stick
nothingmuch right
gaal but i'm not in the Eval monad 08:33
so i don't know how to do that.
nothingmuch err, where are you?
gaal do you know prepareEnv? Run.hs
nothingmuch nopd
nope
i'm afraid I'm not in a state of mind where i'm useful though 08:34
cwest nothingmuch: good question. can you alert(this.register) ?
nothingmuch it's very late
gaal hmm, that's hte nice function that sets up the standard symbols and stuff, then calls initPrelude
never moose, i'll keep hacking myself
nothingmuch hmm... nothing
cwest ds 08:35
nothingmuch oh, i'm not calling it right
cwest var toggle = toggles[idx] = new DOM.Display();
Does that work?
nothingmuch toggles[elem].toggleHidden();
cwest oh, yes
otherwise you get code back :-)
Thyat's it! 08:36
nothingmuch yep =)
() is the function app op?
cwest yep
It's gonna be great trying to emulate that when calling the DBI from JS. ;-) 08:37
nothingmuch woot! it works! 08:38
reload
gaal cwest++ nothingmuch++ 08:39
cwest rock
So, at least in my browser, if you s/... expanded view:/Detail/ you don't get the funky resize stuff. 08:40
nothingmuch fixed =)
cwest cool 08:41
I like it
nothingmuch++
nothingmuch cwest++
cwest (Not it's 4:45am, I'm going to get some sleep)
nothingmuch eek
spinclad nothingmuch++ cwest++ 08:42
nothingmuch safari invents some borders that firefox doesn't
spinclad: i promise you some javascript-free stuff tomorrow
but it really is 4:45am, and I also need sleep
cwest This will look nice even without javascript.
spinclad no hurry
gaal i hope autrijus pops by before he leaves 08:43
nothingmuch cwest: email?
cwest: without js it's just the same, but no [+] and [-]
cwest [email@hidden.address]
gaal it *almost* works! code is evalled but apparently symbols are not installed
or maybe they're installed in the wrong place 08:44
more likely.
nothingmuch is it ok to mention the email in module docs?
cwest yeah, no worries
nothingmuch btw, do you have pugs committership?
cwest I have to commit something first right? Then not yet.
I'm on my way since I'm got this crazy idea of making parrot the new js engine for mozilla. ;-) 08:45
nothingmuch darcs pull
cwest does so
nothingmuch cwest: check mail 08:46
(you are now a comitter)
anyway, sleep
cwest cool
nothingmuch release TTH tomorrow 08:47
cwest you too
nothingmuch oh wait, sorry
darcs pull *now*
cwest y
nothingmuch (i thought I did push -a but I was wrong)
cwest heh, I was wondering 08:48
sleepy sleepy :-)
nothingmuch thanks so much, cwest
you've been very very useful
cwest np, and thanks
cwest & 08:49
gaal autrijus, two items on the agenda for getting precompiled Prelude in (i'm typingaheading): 08:51
1. pugsy: things are getting run, but apparently not in the correct env 08:52
2. (haskell/makey): for now i'm assuming it's okay to modify Run.hs on the fly. very very hacky, but avoiding that would require (i think) boot files, which we can clean up after the release. 08:53
pasteling "gaal" at 192.115.25.249 pasted "current initPreludePC" (7 lines, 346B) at sial.org/pbot/11485 08:54
gaal discovers OPTIONS_GHC -cpp and realizes #2 can be made much better. 08:57
autrijus gaal: I got the backlog with me. 09:46
gaal yay! i've hacked a gen_prelude.pl that mangles the -CPugs output, testing it now
autrijus ok. my cab leaves in 10 minutes
please check in whatever you have, since toronto airport has no wireless 09:47
I'll check back in... 20 hours :)
gaal i will, though i'm wary of breaking tests (i will be removing the old prelude)
thing that bugs me is that i bet it's just some "local" one-liner fix :( 09:48
autrijus you can alternatively nopaste the patch
or commit and then revert again
both worksforme
gaal heh, cool. okay
have a great trip! 09:49
autrijus thanks!
...so, are you committing or nopasting? :) 09:50
gaal oh! now?
sorry :))
sec
errr, there's some junk in this commit (pugscc changes are all bogus) but it's already transmitted 09:52
committed as r5138; i'll revert it now
autrijus good then. have fun
I got r5138
&
gaal thanks, you too
autrijus :) 09:53
masak have a good trip, autrijus
gaal wtf? svn merge -r5138:5137 svn.openfoundry.org/pugs 09:56
svnbot6 r5138, gaal++ | precompiled Prelude (WIP)
gaal svn: Use --force to override this restriction
svn: 'pugs' is not under version control
what's that mean?
QtPlatypus ?eval grammer Foo { rule bar {bar}}; "bar" ~~ /<Foo::bar>/ 11:47
evalbot6 Error: No compatible subroutine found: "&grammer"
gaal grammat 11:48
r
QtPlatypus ?eval grammar Foo { rule bar {bar}}; "bar" ~~ /<Foo::bar>/
evalbot6 pugs: src/events.c:270: init_events_first: Assertion `rc == 0' failed.
QtPlatypus ?eval grammar Foo { rule bar {bar}}; "bar" ~~ /<Foo:bar>/
evalbot6 pugs: src/events.c:270: init_events_first: Assertion `rc == 0' failed.
QtPlatypus ?eval grammar Foo { rule bar {bar}}; "bar" ~~ /bar/
gaal plus, i probably broke pugs with my last commit - but for some reason it can't be reverted. please use 5137 11:49
evalbot6 pugs: src/events.c:270: init_events_first: Assertion `rc == 0' failed.
QtPlatypus nods to gaal
QtPlatypus tries it in an earler pugs. "How does one say 'rule from grammar foo'" 11:52
gaal i would guess <foo::rule> ?
QtPlatypus nods "Doesn't seem to be implemented yet" 11:53
The cookbook is for stuff that currently works in pugs, for stuff that works in perl6? 12:05
(That commer is infact an "or") 12:06
gaal hmm, that's a good intersection, though for things that are more or less final p6 but not implemented too i'd say go ahead and include 'em but be nice and mark them that way.
make unoptimized is so fun! i keep being reminded. 12:08
masak make unoptimized is really fast! what's the catch? 12:55
svnbot6 r5139, gaal++ | makefile side of precompiled prelude, plus some other scaffolding work (still WIP)
gaal runtime hit. big one.
oh! darn it, my code is correct! it's pugs -CPugs that's broken 12:56
this is both good and bad news :)
QtPlatypus Handy hint site:dev.perl.org/perl6/doc/design/ in google allows you to search the Apocalypse's Exegesis and Synoposises.
QtPlatypus looks confused. "I was told that given was as expression so you couldn't do something like..." 13:02
gaal ?
QtPlatypus $result = given $digit {when "T" { 10 };when "E" { 11 };default { $digit }} 13:03
gaal oh, i think this oughta work but isn't in pugs yet.
QtPlatypus But its In A04 as being possable.
Arh!
gaal i wanted it in some code i wrote already.
QtPlatypus Me too. 13:04
gaal in only associatively related moose, did you know that ? : can work on the LHS of an assignment in perl 5? lots of fun. 13:05
QtPlatypus when doesn't act like c's switch. Its more like pascal's case.
Right?
QtPlatypus nods to gaal.
gaal i don't remember pascal
it doesn't fallthrough, if that's what you mean 13:06
QtPlatypus Thats what I mean.
gaal yeah, something Java got wrong and P6 right.
QtPlatypus If I wished to get commit something how would i go about getting a commit bit and what are the documents for the proccess? 13:13
gaal any metacommitters about?
Qt: you just have to send your email to one of the metacommitters; none seem to be around atm but they'll happily sign you up. 13:14
QtPlatypus nods.
gaal then you just svn ci your stuff and it'll prompt you for authenticaltion, which you will be able to provide by the welcome email you will have gotten by that stage. 13:15
QtPlatypus nods.
gaal once you do that, in your fist commit you can add yourself to AUTHORS. 13:16
that's more or less it :)
QtPlatypus nods 13:18
Hi Drbean 13:27
drbean Platypus: Hey 13:29
iblech gaal: Did you forget to svn add src/Pugs/PreludePC.hs-null? ("installing null prelude... can't open null prelude") 13:35
gaal oops, sorry; sec 13:36
iblech QtPlatypus: (<- metacommitter) What's your mail address? :)
QtPlatypus: Invitation sent :) 13:37
gaal iblech++ thanks; r5140
QtPlatypus Thanks. 13:38
gaal but note that since pugscc is broken, you'd better use 5137
unless you can fix pugscc :) which woudl be grand
iblech gaal++ # Pugs starts **fast** with the precompiled Prelude :) 13:40
gaal heh, partially because the environment is pretty empty :)
svnbot6 r5140, gaal++ | add missing PreludePC.hs-null + svn props 13:45
gaal um, btw that "hello world" you're seeing if you run r5138+ is a marker that the inlining did in fact take place. i'll remove it asap :) 13:51
iblech Yep, saw that, np. I'm moving the declaration of %*INC from Prelude to Pugs.Run currently so the tests don't die 13:53
gaal well, many will, of course
if we want we can have them 'use Prelude.pm' in the interim 13:54
hey, is Prelude.pm installed by make install? it oughta be...
hmm, it is, but not in @*INC, so 'use Prelude' won't work. 13:55
what influences MakeMaker in building pm_to_blib? 13:58
svnbot6 r5141, qtplatypus++ | Adding a new entry for the cookbook. Valid number detection. 14:03
QtPlatypus Rules are so more readable then perl5 regexs. 14:08
svnbot6 r5142, iblech++ | Added section about the usual SVN props to pugs::hack and removed old 14:14
r5142, iblech++ | docs/other/development_tips.
r5143, iblech++ | * Moved declaration of %*INC from Prelude to Pugs.Run, so not all tests die.
r5143, iblech++ | * Added check for %*ENV<PUGS_BYPASS_PRELUDE> to util/gen_prelude.pl and removed
r5143, iblech++ | the old (commented) Pugs.Run.initPrelude.
r5143, iblech++ | * Added PreludePC.hs to svn:ignore of src/Pugs.
r5143, iblech++ | * Usual svn props added to new files, QtPlatypus++.
gaal iblech, thanks for the gen_prelude celanups! 14:16
cleanups even.
meppl <gaal> iblech, thanks for the gen_prelude celanups! 14:17
<gaal> cleanups even.
--> iblech (~iblech@2001:8e0:abcd:14d:2e0:7dff:fee5:bff) has joined #perl6
gaal (soon we can remove the old src/gen_prelude.hs and Prelude.hs) 14:18
malaire hmm.. should r5143 compile or not? I'm getting error "Installing precompiled prelude... Can't exec "pugs": No such file or directory at util/gen_prelude.pl line 42."
iblech meppl: Thanks
gaal: Right
malaire: It should
malaire: Probably you don't have pugs in your $PATH
gaal hmm, but if 14:19
yeah
that's broken
but changing the makefile to just say ./pugs won't work (because of windows)
beh.
sec, i'll fix that. 14:20
malaire: thanks for the note, please try 5144. 14:27
svnbot6 r5144, gaal++ | fix to use local pugs; add PreludePC.hs to cleanlist
malaire gaal: r5144 works, thanks! 14:33
gaal great
15:03 rafl_ is now known as rafl
Limbic_Region theorbtwo - I assume you are safely back in Deutchland? 15:50
gaal hmmm, very weird: 16:37
svnbot6 r5145, gaal++ | make sure first pass compilation always compiles Run, for added reliability
gaal ./pugs-nop.exe -MPrelude -e 'say "hi"'
hello, world!
hi
("-nop" is the no-precompiled-prelude pugs) 16:38
But:
./pugs-nop.exe -MPrelude t/builtins/undef.t
hello, world!
....and nothing more.
that is, the module is loaded, but the file isn't.
anyone with a pre-5138 pugs that can test if this happened there too? 16:39
beh, yes, it happens there too. 16:40
-M is somehow buggy; i guess that means the canonization in Pugs.Run.Args is wrong 16:41
putter QtPlatypus: there is the beginning of a grammar for regexs in modules/Grammar. It would be nice to have it fleshed out...;) 16:51
cwest that would be cool 16:55
is it possible to take grammars and convert them to PIL? (I'm unfamiliar with any of this.)
putter Currently pugs hands the patterns off to PGE (written in (sigh, everything starts with P) PIR), which parses the patern and generates PIR, creating the matcher. 17:03
There has been talk of teaching pugs to parse regexps itself, and perhaps evaluate them, in which case I assume they would be added to PIL, but nothing done that I know of. 17:04
I've been hoping someone will flesh out the regexp grammar. There is a fuzziness currently, with incomplete implementations of a spec spread across documents and emails. I'm hoping having something concrete, a cannonical grammar{}, will seed progress. 17:07
QtPlatypus nods to putter "Thanks" 17:10
putter: Wouldn't teaching pugs to parse regexes be a step backwards? 17:12
castaway notes putter is volunteering ;) 17:13
castaway hugs nothingmuch 17:15
QtPlatypus Is there anyway to say define a range with steps other then 1? 17:16
(remove the stray say in that sentence) 17:17
gaal Qt: :by, but i dont' think it's in, and not actualyl sure it's finalized.
?eval 1 .. 10 :by 2 17:18
evalbot6 *** No compatible subroutine found: "&eval" at -e line 8, column 5-38
castaway theres a way to loop with other stepsyes
gaal ?eval 1 .. 10 :by<2>
evalbot6 *** No compatible subroutine found: "&eval" at -e line 8, column 5-40
wolverian ?eval 1
evalbot6 *** No compatible subroutine found: "&eval" at -e line 8, column 5-19
wolverian haha.
gaal i forgot, i broke evalbot.
castaway ?1
gaal damn: )
castaway grats ;)
gaal iblech, ping?
(just need to use the prelude explicitly to be fixed) 17:20
putter QtPlatypus: pugs currently depends on PGE (or pcre for rx:perl5/.../) to handle regexps. so if you say generate javascript from PIL... you still need to drag parrot along just for the regexps. 17:27
castaway: but only in a low key, encourage others to do it first, kind of way. ;) 17:29
cwest Interestingly I plan to drag parrot along to do just that. ;-) 17:30
QtPlatypus Given that almost every lang has libaries to give it "perl5" style regexes. Packaging parrot and the PGE as a libary to give langs "perl6 style rules" would be an easy way to accelarate the installation and distrabution of parrot. 17:34
putter Interesting idea. Could be. My other thought is... 17:40
Haskell might be a better language than PIR to write the thing in. Right now we have a simple parser, parse tree, codegen, and engine bits. All written in PIR. Which is good in avoiding C's unicode issues, but... 17:42
QtPlatypus thought that pugs did lazy lists but "for (1...) -> $a {say $a}" blows up. 17:44
putter We are going to need analysis and optimization too. And I suspect for performance we are eventually going to want hybrid engines. And for convenience, some degree of automated grammar transformation. Writing that in PIR... would be non-trivial. 17:46
Could write it in p6... ;) 17:50
integral no one's tried a core/stg to pil translator yet? 17:52
theorbtwo Limbic -- yeah. 17:55
putter Actually, could write it in p6, compile it to PIR, and still do the parrot-based "perl6 style rules" senario... 17:58
hey QtPlatypus. while you were briefly gone, "Actually, could write it in p6, compile it to PIR, and still do the parrot-based "perl6 style rules" senario...". ;) 18:01
QtPlatypus nods 18:02
I think it would get compiled to PIR by default just for the speed boost. 18:03
svnbot6 r5146, putter++ | MatchX now sort of almost works.
QtPlatypus putter: What does MatchX do? 18:09
putter Hmm, it doesnt have any documentation, does it. Sigh. The current Match class has some properties which get in the way of implementing regexp engines. MatchX is intended as a temporary alternative. Being p6 rather than a primative, it is easier to tweak. But as type coersion, stringification, etc, dont work too well, neither does that aspect of MatchX. 18:16
The biggest thing is Match is immutable. 18:17
QtPlatypus thinks that the grammer that matches Perl6 rx should be called Perl6::rx rather then rx
putter Much better. 18:18
QtPlatypus Damn I should be asleep 18:23
svnbot6 r5147, Stevan++ | Perl6::MetaModel - adding a TODO list for the MetaModel; adding an unofficial Synopsis 12.5 document to track the design of the Metamodel;
putter bye all. QtPlatypus, I added a doc line to MatchX, but didnt get a chance to change the grammar name - feel free. Thanks for your help. :) 18:37
svnbot6 r5148, putter++ | Brief MatchX documentation added. QtPlatypus++ 18:38
r5149, stevan++ | Perl6-MetaModel - more docs and more TODOs 19:46
geoffb stevan++ # impressive progress recently! 19:50
Afternoon, Limbic_Region 20:15
Limbic_Region salutations geoffb 20:18
geoffb how have you been? 20:19
Limbic_Region tired
you
?
geoffb ditto, and fighting a rather persistent head cold, bleah
Recovering from family visit all last week
Writing my article while listening to loud music is helping immensely 20:21
meppl lalala 20:47
svnbot6 r5150, qtplatypus++ | All the self hosting grammars should be called Perl6::foo 21:34
r5150, qtplatypus++ | So Rx becomes Perl6::Rx
integral wow, pugs is very fast now. ++ all of those who did that :-) 21:58
cognominal what means ANF in Pugs/Compile.hs? 22:10
clkao Failed 167/350 test scripts, 52.29% okay. 1704/6131 subtests failed, 72.21% okay. 22:13
lots of failures
dudley It looks like &eval is broken 22:15
geoffb That's one way to get faster. ;-) 22:16
Chewie[] Perl 6 needs something to split by line. Something like <<\nfoo\nbar>>. 22:30
Heredoc-like.
Juerd Needs?
What about: 22:31
my @foo = q:to'XYZZY'.lines;
first
second
third still third
XYZZY
Chewie[] You could also do <<'END'.lines # Hmm. 22:32
Juerd Sure.
Chewie[] Or is that the replacement for heredocs, q:to?
22:46 sili_ is now known as sili
luqui believes that <<'END' is gone 23:18
in favor of q:to
theorbtwo wonders if scalar .foos vs list .foos is too cryptocontexty. 23:36
geoffb theorbtwo, if you mean getting a count versus getting the actual items, that seems to be a good portion of the point of being able to act polymorphically based on context . . . . 23:42
Now that forcing scalar context is a single character, I'm even happier with that WTDI 23:43
luqui it's just that $length = @list.lines doesn't give you a count
it gives you a ref
so you need +@list.lines
geoffb I don't mind +@list.lines.
theorbtwo Hmm, it doesn't? 23:44
$x = foo doesn't run foo in list context anymore?
luqui uh...
never did
did you mean s/list/scalar/ ?
theorbtwo erxz_paste, yes, I did. 23:45
geoffb Of course, I personally hate auto-reference magic, because I think it is just as confusing for beginners as morphing sigils, and is likely to mess up experts who really care about whether something is a reference or not and get the hand-waving slightly wrong
theorbtwo err, yes, I did.
luqui no, it runs it in scalar context, but scalar context no longer gives you the length
geoffb Note the very fact that the two of you are having this discussion . . . . 23:46
luqui you have to run in *numeric* context, indicated by an "int" on the var, or a + in front of the call
theorbtwo But the .lines method can care what context it's being run in.
Ah.
I'd like the idea a lot better if general scalar context worked.
(Even though it messes with people who don't know the difference between a reference and a variable.
luqui yeah, but the auto-enreferencing has its advantages 23:47
for instance, in `push @foo, 2`, push needn't have a special parsing form
I'm of mixed feelings on that decision, so I figure I'll just get used to it
geoffb thought it was cool at first, and has steadily soured on it 23:48
theorbtwo In general, it is good.
In some specific cases, it is not good.
This is one of the cases where it is not good, and probably not good enough to warrant (apparently) breaking the general rule. 23:49
geoffb My souring has come mostly from watching people struggling in here with the number of places it is decidely not good.
I'm very glad infinite deref was killed
luqui for example...?
no kidding
theorbtwo The rule isn't really broken, because the more general rule is that things can do what they want to in whatever context they are run in.
geoffb I guess I shouldn't have said "decidedly not good" but rather "decidedly confusing" 23:50
luqui okay. for example...?
geoffb the infinite deref was clearly bad, though . . . .
Well, the fact that for various builtins will by default treat scalar context as auto-ref rather than numeric is at the very least confusing 23:52
But moreso I watched Darren_Duncan struggling with passing things as desired to LKT,
and autrijus et al trying to get pugs to do the right thing, 23:53
Darren_Duncan you rang?
or not
geoffb and thought "Gee, if smart people are having this much trouble, this seems too confusing"
Just using your name in vain, Darren_Duncan.
Darren_Duncan 'vain' is the wrong word to describe that
geoffb Gee, not going to accept the mantle of godhood? 23:54
s/using/taking/
Darren_Duncan fyi, I'll probably release a major Rosetta perl 5 update today ... or tomorrow
geoffb or whatever it is the Christians say . . . .
Anyway, I extrapolated from the general channel issues to the beginning Perl programmers I knew, and thought to myself, 23:55
"And Larry thought sigil morphing was too confusing? This one will really screw people up."
Did that all make sense to you, luqui?
Sorry I'm rambling a bit, but I'm writing in another window, so my brain is in "spew words" mode
Darren_Duncan the context of what you refer to is people saying things like "you hurt me, so may God strike you down" ... invoking God's name from a context of anger or hate etc 23:56
still that is all off topic
geoffb ah. noted.
Darren_Duncan that's what "God's name in vain" means, as I understand it 23:57
geoffb fair enough.
Darren_Duncan regarding the original comment, I understand that autrijus et al are working on changing something called transparent references ...
geoffb I thought it was a reference to those who believe you should never refer to their deity by name. 23:58
Darren_Duncan once that's done, the kind of stuff I wanted to do should be a lot easier and intuitive
luqui geoffb: just got back to my keyboard, commensing reading
Darren_Duncan it's not so much about refering to a deity by name, its refering to one in anger
a more common version of the 'vain' thing is every time people say stuff like "Christ, why did you do that?" 23:59
geoffb ah!