pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (81/4418, r2232), Mac OS X (160/4483, r2216), Linux (60/4482, 2267) | pugs.kwiki.org Set by obra on 23 April 2005. |
|||
nothingmuch | anyone got windows? | 00:49 | |
pugscode.org <Overview Journal Logs> | smoke/win2k (occasional): xrl.us/fqum (81/4418, r2232), Mac OS X (160/4483, r2216), Linux (60/4482, 2267) | pugs.kwiki.org | 00:50 | ||
Darren_Duncan | yo, anyone here? | 01:41 | |
obra | yes | 01:45 | |
Steve_p | yes | ||
Darren_Duncan | great, I have a question | 01:49 | |
now that Pugs has matured further and has basic object support, I plan to start revisiting my ported modules ... | |||
I plan to start off by stripping down (commenting out code) Locale::KeyedText to a simpler but functional form that would compile and run right now | 01:50 | ||
mainly it would be the input checking and subtype code that would be removed, as I think those are the main not implemented parts | 01:51 | ||
I would put them back in as support exists, back up to full form when it all would execute | 01:52 | ||
meanwhile, everything I commit from now on would actually execute | |||
and so that should help with integration tests | |||
now the question ... | |||
can I put these executing modules in Pugs' /ext once they execute, or is that still bad for some reason? | 01:53 | ||
if the answer's "yes", I plan to do so for LKT this week | 01:54 | ||
in time for 6.2.2 probably | 01:55 | ||
if no one says anything I will assume that populating /ext is okay | 01:56 | ||
stevan | Darren_Duncan: the current "rules" for ext/ is that it works, additionally I think it should also have enough tests to prove that fact as well | 01:58 | |
however, we don't actually have basic object support in perl6 though AFIAK | 01:59 | ||
Darren_Duncan | what do those t/oo/ tests do then? | ||
stevan | I think when autrijus says we have object support he means that the base types are now in Haskell OO | ||
t/oo/ is all todo tests currently | |||
Darren_Duncan | oh right, I missed that ':todo(1)' before ... | 02:01 | |
stevan | :) | ||
Darren_Duncan | I'll wait some more then,... | ||
in any event, the bare basics I need for LKT are ordinary classes and ordinary methods ... | |||
the fancy multis or inners or roles or subtypes aren't needed for basics | 02:02 | ||
stevan | multi subs are actually working, although with some wrinkles | ||
Darren_Duncan | so then, presumably multi methods will work at the same time as methods? | 02:03 | |
quick different question ... | |||
stevan | I am hoping, but I really cannot say since I am still on the perl6/testing side of things | ||
Darren_Duncan | I plan for my next Perl 5 release of SQL::Routine, in progress, to involve reblessing objects into a different class after they were already blessed, possibly more than once ... | 02:05 | |
can I assume that Perl 6 can do this too? | |||
note that both classes have the same attributes | |||
only the methods are different | |||
actually, a few attrs are different | |||
but the different ones correspond to each othe | 02:06 | ||
oh well, that's a concern for later | |||
stevan | Darren_Duncan: personally I avoid that type of things in Perl 5 unless absolutely nessecary because I view it as a dark crevice in Perl 5's OO model. Sure its useful, but it can get ugly if not paid the proper respect | 02:07 | |
The Stratedgy pattern is maybe what you are looking for. | |||
Darren_Duncan | well, here's my reason for doing it ... | ||
stevan | as for if you can do it in perl 6, I dont know, but I would actually hope not :) | ||
Darren_Duncan | and not to say I can't change the strategy to make it unnecessary | 02:08 | |
for background, a SQL::Routine model consists of 2 main classes, the Container and the Node ... | |||
these correspond to an XML Document and Node respectively | |||
analagous I mean | |||
in an effort to be helpful, although perhaps its a mis-feature, I allow Nodes to exist outside of Containers | 02:09 | ||
in fact, it is normal to create a Node outside of a container, then put it in one separately | |||
stevan | sorry, not the strategy pattern, the state pattern | 02:10 | |
www.dofactory.com/Patterns/PatternState.aspx | |||
Darren_Duncan | currently, one class implements the Node, and certain rules concerning it are different depending on whether it is in or out | ||
I thought of splitting these into 2 classes, which have a common base class | |||
one reason is to reduce tests for whether a method is allowed to be executed or not | 02:11 | ||
but the main reason is this ... | |||
since version 0.59, when SRT models can be auto-destroyed like normal perl variables | 02:12 | ||
there is a possible situation where a program can hold a reference to a node that was in a destroyed container, but the node isn't destroyed when the container is, due to the external ref ... | |||
the class split was a possible way to make it easier to detect if this happened when the node is attempted to be used again | 02:13 | ||
since some of its internals are different, the current code would do the wrong thing if given it | |||
now mind you, external code shouldn't use such nodes unless they explicitly take them from the container before it is destroyed, in which case they are internally fine for reuse | 02:14 | ||
I'll look at your patternstate url now | |||
note that the possible double life of a node may have been a mis-feature | 02:15 | ||
at the time I thought it would be useful, such as helping with piecemeal construction, or moving from one container for another | |||
I suppose I could just simplify the module to make nodes only exist in containers, and then see if there's anything useful we can't do anymore as a consequence, later on | 02:16 | ||
thanks for your feedback | |||
stevan | Darren_Duncan: ouch! seems like a lot of manual memory management (if I am understanding correctly) | 02:18 | |
Darren_Duncan: BTW - are you planning on going to YAPC::NA this year? | 02:19 | ||
Darren_Duncan | fyi, the first versions of SQL::Routine didn't have a Container at all | ||
The Container was added as an exoskeleton to make certain kinds of tasks easier | |||
is is just a tree of Nodes at heart | 02:20 | ||
stevan | autrijus: I was experimenting with a new parsefail testing technique | ||
Darren_Duncan | I have no current plans to go to any conference ... can't afford to | ||
stevan | Darren_Duncan: circular refs can be a pain | ||
I have similar problems with Tree::Simple (although I have a weakened ref version in the works) | 02:21 | ||
Darren_Duncan | stevan, that is, I thought of going to OSCON, but haven't bought a ticket yet and won't unless I get some paid work first | ||
stevan | autrijus: basically it is this eval_ok('# $code.which(%will, @fail)'); | ||
autrijus: it seems to work too :) | |||
Darren_Duncan | as for YAPC::NA, I hadn't thought about going, as it seemed too short notice, but I do plan to attend other YAPC in the future (my first ones) | 02:22 | |
when is it again? | |||
stevan | Darren_Duncan: June 27-29 | ||
Darren_Duncan | while this conference is cheap, I think the flights would not be | ||
stevan | in Toronto | ||
Darren_Duncan | its in my own country at least | ||
stevan | Cross-Canada drive :) | ||
Darren_Duncan | I'm in victoria bc | ||
I can't drive | |||
re circular refs | 02:23 | ||
they are used because I want an easy way to access related Nodes when you hold an arbitrary one | |||
the main circular refs are child+parent | |||
stevan | child <-> parent is always the one :) | 02:24 | |
Darren_Duncan | an additional circular ref is container to node and vice versa | ||
a Container holds a hash of all its Nodes, keyed by Node id (an integer) | |||
it also holds the virtual root of the tree | |||
called a 'pseudo-Node' | |||
since you can't actually get a handle on it | 02:25 | ||
just now I used your suggestion and made one part of the loop a weak ref ... and you are credited for it | |||
in 0.59 | |||
stevan | :) | ||
Darren_Duncan: make sure to check your destruction behavior | 02:26 | ||
Test::Memory::Cycle is good for that | |||
Darren_Duncan | destruction starts at the root and carries on childwards | ||
the leaves are the last to be destroyed | 02:27 | ||
stevan | and if you want to test the weakened refs too, I have a patched version of that and Devel::Cycle which can inspecct weak refs too | ||
Darren_Duncan: so you never destroy subtrees or individual nodes? | |||
Darren_Duncan | I tested that it worked by running a thousand iterations of my test suite in a single process and checking that the RAM usage stayed constant | ||
a user can manually destroy subtrees or individuals | 02:28 | ||
jabbot | pugs - 2315 - updating the t/README file | ||
Darren_Duncan | I just described what happens if the container itself is destroyed | ||
I also made sure the weakrefs were making a difference; by commenting out any one of them, RAM kept going up showing a leak | 02:29 | ||
the iterations made perl use about 200M of RAM before quitting when the leak was in full force; it stayed at 20M when no leaks | 02:30 | ||
stevan | nice | ||
Darren_Duncan | that was 500 iterations of the test suite | 02:31 | |
stevan | take a look at Test::Memory::Cycle though, it is useful if for nothing more than regression tests | ||
Darren_Duncan | which also took a minute to run | ||
stevan | memory_cycle_ok($structure) | ||
thats about all | |||
Darren_Duncan | will make a note of that | ||
stevan | and since it is more a developer test, you can just check to see if the user has the module and skip the test otherwise | 02:32 | |
Darren_Duncan | fyi, I think that part of my problem here is that I'm a packrat ... I know that I put forth considerable effort to provide a feature in the past, so I hate to throw it away, hence it hangs around | ||
stevan | backwards compatibility is a good thing | ||
Darren_Duncan | by forcing nodes into containers 24/7, that's such a throw-away | ||
stevan, true, though in this case the module's so knew, and declared alpha to boot, that I don't think it even has a user base yet | 02:33 | ||
that said, it won't be much work to adjust use code to stay compatible with such a change | |||
stevan | well, feel free to email me if you want to see some of my Tree::Simple memory cycle tests since they are not out yet | ||
Darren_Duncan | all my examples put the node in a container as early as possible, so most code operates while it's already in there | 02:34 | |
stevan | but I am off to watch a movie :) | ||
Darren_Duncan | stevan, okay | ||
as for me, I'm going to back out of my current 0.60 work and make a different 0.60 that is the same as 0.59 but with the stripping, and that has simpler code | 02:35 | ||
we always still have the backups of earlier releases on backpan should we want to put the functionality back in again | |||
see you later | 02:36 | ||
jabbot | pugs - 2316 - | 03:18 | |
pugs - 2317 - Update debian/changelog to 6.2.1 | |||
Darren_Duncan | I am now testing rev 2317 on my Mac OS X system ... the header's about 100 revs behind for it | 04:18 | |
Current Mac OS X 10.3.9, system perl 5.8.1rc3, ghc 6.4: Failed 5/222 test scripts, 97.75% okay. 5/4514 subtests failed, 99.89% okay. | 05:10 | ||
I'm not sure how to edit the topic with Colloquy | 05:11 | ||
this was for 2317 | |||
Khisanth | /topic? | 05:30 | |
Darren_Duncan | I mean the #perl6 topic, that appears at the top of the IRC window | 05:58 | |
it lists the current test results by platform; the Mac OS X one was 100 commits out of date | |||
mj | $line =~ s{,\s*\:todo\(1\)}{}g; $line =~ s{force_todo[^;]+;}{}g; | 06:22 | |
WinXP, r2311 - 35 subtests skipped. Failed 92/222 test scripts, 58.56% okay. 889/4512 subtests failed, 80.30% okay. | |||
autrijus | 889/4512? | 06:24 | |
is that an improvement? | |||
inplace.t is wrong -- you need adverbial block | 06:26 | ||
@x .= map {...} # bad | |||
@x .= map:{...} # good | |||
(larry ruling) | 06:27 | ||
mj | r1600 - 1308/4135 subtests failed, 68.37% okay. | ||
r1700 - 1166/4222 subtests failed, 72.38% okay. | |||
r1800 - 1252/4214 subtests failed, 70.29% okay. | |||
r1900 - 893/4240 subtests failed, 78.94% okay. | |||
r2069 - 1090/4408 subtests failed, 75.27% okay. | |||
r2115 - 1000/4459 subtests failed, 77.57% okay. | |||
r2311 - 889/4512 subtests failed, 80.30% okay. | |||
autrijus | a definite improvement then :) | ||
jabbot | pugs - 2318 - * change inplace.t to use correct adverb | 06:28 | |
Khisanth | .= ? | 06:33 | |
autrijus: where is the method name? | |||
autrijus | map | 06:38 | |
@x .= map:{} | |||
same as | |||
@x = @x.map:{} | |||
lunch & | 06:41 | ||
nothingmuch | good morning | 06:45 | |
06:47
chady_ is now known as chady
|
|||
Juerd | 23:57 < Juerd> autrijus: I can't go into details because I have no better | 06:50 | |
suggestion, but I think disambiguation based on lack of comma sucks. | |||
23:58 < Juerd> autrijus: And I'm starting to wonder why a { ... } can't just be | |||
a closure until used in hash context, at which point heuristics come | |||
into action | |||
wilx | Heuristics? | ||
Juerd | 23:59 < Juerd> autrijus: (more than one statement? runtime error) | 06:51 | |
I know the answer by now, though | 06:52 | ||
autrijus | oh well. | ||
Juerd | Because a closure captures variables, while in a list they are evaluated immediately. | ||
autrijus | map { $_ => $_; } @foo; | 06:53 | |
you like that as a disambiguation? | |||
Juerd | Yes and no | ||
Yes because it's unspecial, which is good. | |||
No because I always like to write implicit returns without semicolon :) | |||
sub foo { return 5; }, but sub foo { 5 } | |||
But I guess I'll just have to change that habit | 06:54 | ||
autrijus | sub foo { 5 } # is fine | ||
even {5} is fine | |||
just not {5=>6} | |||
Juerd | Right. | ||
autrijus | larry likes | ||
Juerd | It was an example of how I leave out semicolons. | ||
autrijus | map { list $_ => $_ } @foo | 06:55 | |
Juerd | That's stupid imo. | ||
That gives you the same thing as this, but in a weird way: | |||
map sub { ... }, @foo | |||
map hash { ... }, @foo | |||
autrijus | my %x = map { hash $_, $_ } 1,2,3 | 06:56 | |
yeah. | |||
ok, I think I'll retract my tentative new feature | |||
Juerd | There's still no way to disambiguate it from the outside. | ||
autrijus | and implement semicolon disambiguation. | ||
it may prove to be sanest after all | |||
Juerd | That is: the "hash" keyword is a normal keyword | ||
as is "list" | |||
So they can't just be used as disambiguators, as that introduces special syntax, and we all know where that leads. | 06:57 | ||
autrijus | uh no actually | ||
Juerd | That'll mean that you can't use these keywords in a block's first statement without altering the block's semantics | ||
autrijus | they are there to defeat => as toplevel | ||
so collapsing rule no longer apply | |||
they are not special | |||
any other function will do | |||
Juerd | Oh, only top level => makes {} a hash? | ||
autrijus | map { id($_ => $_) } 1,2,3 | ||
yeah | |||
a toplevel =>, or a toplevel , with => as first arg | 06:58 | ||
Juerd | Bleh. I thought every single non-semicolon statement 'closure' did | ||
autrijus | bleh. you thought incorrectly | ||
Juerd | But I guess this makes more sense, as otherwise you get into ambiguous cases all the time instead of just most of the time. | ||
:P | |||
And now it's time for another great fun event | 06:59 | ||
Bringing my car for servicing | |||
(These things work better if they can idle.) | |||
nothingmuch | morning | 07:25 | |
07:26
castaway_ is now known as castaway
|
|||
castaway | mornin nm | 07:26 | |
nothingmuch | holidays make it very hard to get to work =( | ||
castaway | which holiday? | 07:28 | |
nothingmuch | passover | ||
sister is home | |||
so it makes commuting harder | 07:29 | ||
she needs to be kept entertained | |||
Khisanth | have her write p6 tests! :) | ||
nothingmuch | can't type in english yet | ||
castaway | I fail to see the logic.. which of those makes commuting harder? :) | 07:30 | |
nothingmuch | dad needs the car for the day to go buy her some rollerblades that she asked for | ||
so i can' | |||
t use it | 07:31 | ||
hence I'm bound to their schedule | |||
castaway | ahh | ||
telecommute? :) | 07:32 | ||
nothingmuch | no, we just live in the suburbs | 07:38 | |
i wouldn't consider it tele | |||
in theory public transportation could be good enough, | |||
that is, if it didn't suck as much as it does | |||
castaway | eh? | 07:39 | |
telecommute means "work from home" | |||
nothingmuch | oh, i thought it means 'commute' with 'tele' thrown in to illustrate that it's far | ||
eh, naah | |||
not enough quiet | |||
more distractions | |||
plus my plants will die if i don't water them | 07:40 | ||
castaway | If you do it for longer, yes | 07:42 | |
nothingmuch | it's already been a 3 day weekend | ||
castaway | how far is it? | 07:44 | |
nothingmuch | work? | ||
12-5 minute drive | |||
depending on whose driving | |||
20 if there's a bit of congestion in the morning | |||
castaway | hm, have a bike? | 07:47 | |
nothingmuch | buying one soon | ||
exactly for this reason | |||
we even have a shower at work | |||
castaway | :) | 07:48 | |
we have one in the basement somewheres too | |||
nothingmuch | the only thing stopping me is money atm ;-) | ||
how far is your work? | |||
castaway | yeah, always this "money" thing | ||
nothingmuch | actually it's not like i have financial problems | ||
castaway | from home? good 50 minutes with the S-Bahn | 07:49 | |
nothingmuch | but damnit, that bass is expensive | ||
S-Bahn is ...? | |||
i know Bahn is road | |||
castaway | no Train | ||
nothingmuch | or at least I think it is | ||
ah | |||
so what is autobahn? | |||
or did i just make that up? | |||
castaway | Its the city train.. (Munich has underground trains: U-Bahn, overground city trains: S-Bahn, Trams and busses..) | ||
Autobahn is motorway, yes.. but "Die Bahn" is trains, well actually the word "bahn" just means something like lane | 07:50 | ||
nothingmuch | ah | ||
castaway | (channel, course, pathway, track.. says Leo) | 07:51 | |
nothingmuch | i should really release this code for wrangling gcov if it ever works | ||
=) | |||
i can't believe that no one ever sufferred before me | |||
or maybe I should just patch gcov | 07:52 | ||
castaway | :) | ||
nothingmuch | it's so insane | ||
you have to move all the files around for it | |||
castaway | maybe whomever uses it doesnt think so, or they all do that automatically and dont think abuot it.. | 07:57 | |
nothingmuch | maybe | 07:58 | |
jabbot | pugs - 2319 - * Withdraw the tentative change of using | 08:48 | |
pugs - 2320 - * repair single stmt in shell | 09:08 | ||
pugs - 2321 - * please keep the newline. :) | |||
pugs - 2322 - * lone block does not count as "simple e | 09:18 | ||
09:30
Aankh|Clone is now known as Aankhen``
|
|||
nothingmuch | hola Aankhen`` | 10:23 | |
i have a problem with the floating box | |||
and <h1>'s beside it being centered in the remaining space | |||
and not the entire page width | |||
only in IE though | |||
castaway | IE-- | 10:24 | |
nothingmuch | so -- | 10:25 | |
i hope IE7 is all it's supposed to be | |||
kungfuftr | moo? | 10:26 | |
nothingmuch | moo! | 10:27 | |
castaway | woof! | ||
kungfuftr | nothingmuch: pong | ||
nothingmuch reverb | |||
s | |||
(oioioioioioioionnnnnnnnnnnng) | |||
hola theorbtwo | 10:28 | ||
kungfuftr | nothingmuch: 12:17 < nothingmuch> kungfuftr: ping | ||
=0) | |||
nothingmuch | oh, long ago | 10:29 | |
castaway | depends on your timezone ,) | ||
thats 10 mins ago in mine | 10:30 | ||
kungfuftr | ^_^ | ||
nothingmuch: my other half has forced me to take plenty of time out from "perl" things to help with wedding arrangements... so no interweb for me this weekend | 10:31 | ||
castaway | eep :) | ||
nothingmuch | your own? | ||
kungfuftr | yup | 10:38 | |
nothingmuch | you make it sounds like you don't want to ;-) | ||
have fun anyway | |||
castaway was about to say that :) | 10:39 | ||
bro! | |||
nothingmuch | hola broquaint | ||
broquaint | Hey folks :) | ||
Top o' the morning to ya. | 10:40 | ||
castaway | right back atcha | ||
kungfuftr | nothingmuch: wedding will be good, but i hate organising stuff! | 10:42 | |
nothingmuch | organizing does suck | 10:43 | |
that's why my cinema thingy turned out crapp | |||
nothingmuch had his producers switched 3 times | |||
and also since production is not something you get a grade for, no one cared | 10:44 | ||
kungfuftr | nothingmuch: plus... i'm living in england, and the wedding is back home in northern ireland... so organising stuff is a lot trickier! | ||
nothingmuch | ooh | ||
kungfuftr | many people going to be going to YAPC::EU in portugal? | ||
nothingmuch thought he would go | 10:45 | ||
but instead i'm going to YAPC::NA | |||
kungfuftr | but but but... cheap beer! | 10:46 | |
theorbtwo | Hmm? I thought YAPC::EU was in Dublin this year? | ||
Not going, though. | |||
kungfuftr | theorbtwo: nope, braga, portugal | ||
nothingmuch | cheap beer indeed | ||
kungfuftr | the last one was in belfast | ||
nothingmuch | i want to see portugal | ||
sometime i will | |||
theorbtwo | Ah, that must be what I was thinking of. | 10:47 | |
kungfuftr | theorbtwo: do not dishonour the name of my hometown by calling it 'dublin'... ROAR! | ||
castaway has already run out of travel budget | |||
kungfuftr gets work to pay for it | |||
=0) | |||
castaway | nice idea | ||
nothingmuch | castaway: did you guys find any decent flights? | ||
kungfuftr: i sort of have that now for ::NA ;-) | 10:48 | ||
castaway | flights yes, decent not so much | ||
(to PHL that is.. ) | |||
theorbtwo | kungfuftr: What should I call it then? | 10:49 | |
castaway | which puts us on the right landmass at least | ||
nothingmuch | PHL <-- que? | ||
castaway | Philidelphia | ||
nothingmuch | ah | ||
theorbtwo | The city of brotherly love, you know? | ||
nothingmuch tries to remember how long a drive that is | |||
castaway | I think he meant s/Dublin/Belfast/ | ||
10 hours or so | |||
nothingmuch | that sounds too much | ||
castaway | not really | 10:50 | |
(brrrrmmm) | |||
nothingmuch | from buffalo it's around 3 hours to tornoto, methinks | ||
theorbtwo | I always thought they were two different cities? | ||
nothingmuch | and NY to buffallo is another 2-3 | ||
and phil -> NY including traffic is 3 | |||
and that's a pretty dumb route | |||
theorbtwo | They have two different dots on the map. | 10:51 | |
castaway | thats a very dumb route ,) | ||
phil, Buffalo goes right thru the middle of PA, ideally | |||
(we did that one last year) | |||
theorbtwo | Well, no, that's hardly ideal, but it is the best way to do it. | ||
kungfuftr | theorbtwo: BELFAST! | 10:52 | |
nothingmuch | yeah, but NY NY is a bit of a detour | ||
castaway | Phil->NY (city) is 3 ?? | ||
The *trains* go that way, and take longer | |||
nothingmuch | castaway: including traffic yes | ||
kungfuftr plants an explosive whooppee cushion under theorbtwo's chair | |||
nothingmuch used to live in jersey | |||
used to go to either or every once in a while | |||
theorbtwo | I'm still confused as to what I'm doing. | 10:53 | |
castaway | You claimed YAPC::EU was in Dublin, it wasnt, it was in Belfast, so effectively you were labelling Belfast as "Dublin" (I think) | ||
kungfuftr | castaway: correct! | 10:54 | |
theorbtwo | No, I was effectively confused as to what city it was in. | ||
kungfuftr | theorbtwo: just winding ye up... =0) | ||
castaway | well yes, that too | ||
right | |||
go back to poking dios scripts, love :) | 10:55 | ||
theorbtwo goes back to hacking on his haskell grapher instead. | 10:56 | ||
castaway | tsktsk | ||
duty before fun! | 10:57 | ||
castaway ahems and goes back to work-type stuff | |||
pjcj | In perl5: $str .= $end appends $end to $str. Any thoughts on how to do something similar to *prepend* a string in perl6? ie $str XXX $start - what would XXX look like? | 11:02 | |
gaal | $str = $start ~ $str ? | 11:03 | |
pjcj | yeah, that's the same as perl5 - I'm looking for something nicer ;-) | 11:04 | |
gaal | change your consumer to accept a list of characters and produce a lazy list? :) | 11:05 | |
theorbtwo | $str.=prepend($start), if you define a prepend method on Str. | ||
pjcj | I thought about that, but I was wondering if it was possible to define some infix operator, maybe with a funky unicode name, for example | 11:06 | |
theorbtwo | You could do that; it'd be just like ~ but take it's arguments in the oppisite order. | 11:07 | |
kungfuftr | would merely be syntactic sugar though, not that useful | ||
nothingmuch | pjcj: you could implement an infix op very easily | ||
theorbtwo | Everything is syntatic sugar for a turing machine. Syntatic sugar is what makes some languages effectively different from others. | ||
castaway | .oO( >~ and <~ ?) |
||
theorbtwo | But it's not terribly useful syntatic sugar. | 11:08 | |
castaway | assuming they dont already exist.. | ||
theorbtwo | They don't. | ||
castaway | $str >~ $end; $str <~ $begining | ||
theorbtwo | The two operators $x > ~$y would have to be written with the space if you defined a new operator, but I suspect they don't come up that much. | ||
castaway likes that | |||
kungfuftr | $str <~= $beginning; ? | 11:09 | |
nothingmuch | "prepended" =. $string; | 11:10 | |
;-) | |||
=~, sorry | |||
castaway | ick | 11:11 | |
nothingmuch | can't assign string to constant in scalar context =) | ||
castaway | that looks like you're changing "prepended" | ||
theorbtwo | nm, just define an operator infix:<=~> | 11:12 | |
nothingmuch | lets write a test that makes sure that doesn't work, ever =) | ||
theorbtwo | It's a valid thing to do, but I'm not sure it reads very well. | ||
(Remember, longest matching token -- currently, "prepend" =~ $string would be an (illegal) assignment of the stringification of $string to the constant string "prepend". If you define an operator =~, though, that's longer then the existing operator =, so gets preferred.) | 11:14 | ||
nothingmuch | oh well | ||
maybe "string" ~> $value; | 11:15 | ||
or perhaps even "string" ~==> $var; | 11:16 | ||
either way i think it should be lvalue | |||
ick | |||
/rvalue reversed either way | 11:17 | ||
pjcj | ENOUGH! Thanks all :-) | 11:19 | |
nothingmuch | you could also define an lvalueable reverse: | ||
pjcj | hmmm, I wonder whether ENOUGH is a valid error return code somewhere | ||
nothingmuch | $var.reverse ~= reverse($string); | 11:20 | |
dear god, | 11:22 | ||
nothingmuch thinks he *finally* nailed gcov | |||
inline function covereage ok | |||
even dead inlines | |||
(different compilation, they don't run, but we can see whether they're executed) | |||
gcov processing moves the whole .bbg/.da/.gcov mess around every source dir | |||
to the relative location of where the .cpp was compiled | 11:23 | ||
no, sorry | |||
castaway hands nm a hammer. Quick, nail it down | |||
nothingmuch | .bbg/.da are moved next to the .cpp | ||
and then gcov is run from the relative dir where the cpp was compiled | |||
but the .gcov file is not yet moved | |||
theorbtwo | Sounds like you have done a Great and Wonderful thing, nm. | 11:24 | |
nothingmuch | all the .gcovs are moved from pwd to pwd | ||
and then after this is finished, the .gcovs are distributed next to their .cpps | |||
the hard part was discovering that these problems exist though | |||
pjcj | relative dirs are evil in this context - Devel::Cover has a similar problem when there are relative dirs in @INC | ||
nothingmuch | very very evil | ||
ofcourse, since gcov has these bug you can't cover two files with the same base name | 11:25 | ||
but we only have a few 'version.cpp' type files | |||
you have to remember what you did 30 minutes ago | 11:26 | ||
nothingmuch is tired | |||
and then try to find it whether it worked or not | |||
while doing other stuff | |||
it was the hardest project i ever did, from a concentration perspective | |||
11:27
chady is now known as chady_
|
|||
nothingmuch | i like dynamic languages much more after this | 11:27 | |
no on to compare windows/unix differences | |||
of executability | |||
castaway | :) | 11:28 | |
nothingmuch | s/no/now/; | 11:30 | |
i should really release these scripts | 11:32 | ||
i just don't know how to package them | 11:33 | ||
castaway looks at the time.. how'd it get so late already? | 12:16 | ||
castaway hugs Limbic_Region | |||
nothingmuch | relative paths are the mother of the root of all evil | 12:22 | |
castaway | ,) | 12:23 | |
nothingmuch | oh well, | ||
autrijus | sqrt(all(@evil)).isa($relative_path) | ||
nothingmuch | no, the root of all evil is premature optimisation | 12:24 | |
autrijus | sqrt(all(@evil)) =:= $premature_optimization | ||
nothingmuch | oh, i see | 12:25 | |
autrijus++; # very witty | |||
autrijus | =) | ||
nothingmuch | what's up? | 12:26 | |
broquaint encouraged me to try and get back to hacking subroutine stuff | |||
with .wrap | |||
nothingmuch will try to blitz through his other responsibilities so that he is not too late | |||
Limbic_Region hugs castaway | 12:27 | ||
nothingmuch begs autrijus for some attention | |||
broquaint | Yeah, get cracking, nothingmuch, we haven't got all day ya know. | ||
nothingmuch | ;-) | ||
broquaint: want to help me solve some CSS issues? | 12:28 | ||
broquaint | Sure. | ||
castaway | iek, CSS | ||
nothingmuch | if you can then I can finish early | ||
this is with windows, mostly | |||
i know how to resolve a few bits | |||
castaway was playing with it this weekend | |||
broquaint | Good, because Windows is alls I gots. | ||
nothingmuch | and the PNG will prolly have a hard coded BG | ||
nothingmuch.woobling.org/kelaa/demo...re.html.he | |||
broquaint | CSS++ # almost useful | ||
nothingmuch | CSS+=0.01 | ||
the problems with IE: | 12:29 | ||
the background on top should be red | |||
castaway points Limbic at: theorbtwo.perlmonk.org/frontpage.html | |||
(Just a mock up though :) | |||
nothingmuch | the <h2>'s are not centered | ||
autrijus | so, .wrap | ||
where are the tests for it? | |||
theorbtwo | Hello, autrijus. | ||
nothingmuch | autrijus: before we start implementing that will happen | 12:30 | |
autrijus | k :) | ||
nothingmuch | don't you trust me? =) | 12:31 | |
autrijus | of course I do... just checking :) | ||
<- actually still at @ dinner in a nice shanghai restaurant | 12:32 | ||
shanghai-style, that is | |||
nothingmuch | and you are eating off your laptop? | ||
autrijus | yup. | ||
nothingmuch wonders whether it helps or hinders the enjoyment of food stuff | |||
autrijus | helps, I think | 12:33 | |
castaway | :) | ||
nothingmuch | autrijus.isa("Crazy"); | 12:34 | |
nothingmuch needs breaks from the puter every once in a while | |||
castaway | I think he's trying the 'always on' concept (shower, restaurant .. ) | ||
(someone say my frontpage mockup is pretty :) | 12:35 | ||
nothingmuch | castaway: your frontpage mockup is very pretty | ||
one pet peeve: the bg of the logo is not the same as the big bg | |||
and perhaps the 'My Bookshelf' etc brown boxes need slightly more padding | 12:36 | ||
castaway | thanks, nothingmuch | ||
autrijus | castaway: I think navBar a should not be inset | ||
a.current can be inset | |||
castaway | ooh, he actually looked :) | ||
autrijus | but noncurrent ones should be outset | ||
nothingmuch | but aside from that it's very nice | ||
nothingmuch likes simplicity | |||
btw, why does a page like that need login/logout? | |||
autrijus | it is pretty. :) | ||
castaway | Thanks for the feedback, will keep note of it :) | 12:37 | |
nothingmuch: its going to have an Everything engine underneath | |||
nothingmuch | aah | 12:38 | |
nothingmuch would like to be at a point where setting up a website with a smart engine is trivial for him | |||
castaway bounces around happily | |||
nothingmuch | however, i most definately do not want to make the journey to that point | ||
castaway | Everything is nowhere near trivial | ||
nothingmuch | so why are you going with it? | ||
castaway | Because? | ||
nothingmuch | i mean, obviously you both know it well enough so that it's useful | 12:39 | |
castaway | Its meant as a framework to build on, not something to just plonk down and say 'done' | ||
nothingmuch | true that | ||
castaway | cos I wanted to build | ||
nothingmuch | but getting to know a framework is *hard* | ||
well, good luck with it anyway | |||
castaway | well, I'm already far enough so I know how to fiddle things into Everything | ||
nothingmuch | hope it turns out useful =) | ||
castaway hopes so too | |||
nothingmuch would have used it for the kelaa website if time wasn't a restriction | 12:40 | ||
but i can't bother learning it now | |||
bother with | |||
castaway wonders if the actual E-install is viewable.. | 12:41 | ||
(ermm, bit of a mess right now, but if you scroll down to the bottom, you can see how the nodelets look so far: desert-island.dynodns.net:8080/virtbook/ ) | 12:42 | ||
oh, and I kinda "borrowed" the logo from a quick google search :) | 12:44 | ||
nothingmuch | the nodelets have good padding | ||
castaway | ta | ||
nothingmuch | for the title | ||
but maybe a bit too much in the links one | 12:45 | ||
try lowering the margin of the <ul> | |||
castaway | (oh, fun, guest user doesnt see any errors at all ,) | 12:46 | |
ah, I see.. yup, I havent changed any of the standard nodelets yet.. | |||
nothingmuch | =) | ||
castaway | ta muchly.. | 12:47 | |
nothingmuch | what is the content going to be? | ||
(aside from books ;-) | |||
nothingmuch wonders what's keeping stevan | 12:48 | ||
castaway | mostly books :) theorbtwo.perlmonk.org/kwiki/index.cgi?Overview | 12:49 | |
mostly the idea is that everyone can have their own "bookshelf" which is a list of links to the books they own.. | 12:50 | ||
we'll build in an amazon/bookstore connection, and some way of (for example), looking for books by the authors you like.. | |||
and discussion boards .. etc | 12:51 | ||
Limbic_Region | castaway - as soon as we are in the new house and I have all my books back up on shelves where they belong instead of in boxes, I am going to try hard to work on the virtual bookshelf project | ||
castaway | yay, Limbic | ||
no rush, just decided to do some more fiddling with it, after having a creative ride home (notes on Psion :) | 12:52 | ||
stevan | morning all | 12:53 | |
castaway | hey stevan | 12:54 | |
stevan | castaway: have you ever seen Delicious Library? its a Mac OS X only app, but it is kind of similiar | 12:55 | |
www.delicious-monster.com/ | |||
nothingmuch | hola stevan | 12:56 | |
castaway | yes, seen it.. I'm aiming specifically for a community thing | ||
jabbot | castaway: I havn't seen it.. , castaway | ||
stevan | it can read bar codes (which is not actually that difficult with the right scanner) | ||
nothingmuch | brb | ||
stevan | castaway: yes community is good, my problem with DL is that it is not community oriented | ||
you cannot share librabries and such | |||
castaway | I found *one* such site, when searching, that cost money, and closed down just after I found it ,) | ||
stevan | castaway: AFAIK, if you want to do the bar code scanner, a modified Cue Cat will output to STDOUT | 12:57 | |
castaway | Feel free to make suggestions/notes/whatever on the wiki, if you have an interest | ||
stevan | it acts like a keyboard | ||
castaway | We've done that bit already :) | ||
stevan | castaway: reading now :) | ||
castaway | I suspect the wiki kinda assumes you know some of Everything architechture tho.. hopefully thats not too much of a stumbling block | 12:58 | |
stevan | nothingmuch: ping me when you are back | 13:00 | |
castaway wonders if Limbic looked at the pretty picture :) | 13:16 | ||
nothingmuch chokes on matzot+avocado | 13:17 | ||
stevan: ping | |||
Limbic_Region | castaway - huh? | 13:18 | |
castaway | Limbic: theorbtwo.perlmonk.org/frontpage.html | 13:19 | |
Limbic_Region | that's nice | 13:20 | |
Limbic_Region wanders off | |||
theorbtwo is getting very confused by monads. | 14:45 | ||
theorbtwo is deciding to switch channels again. | 14:46 | ||
jabbot | pugs - 2323 - * Added EOLs at EOFs. | 14:48 | |
mkirank | is this behaviour in pugs correct , I seem to be getting only one element with 9 ... my @g = ('.') x 9; | 15:25 | |
autrijus | sure | 15:26 | |
you want xx | |||
the p5 x has been split into x and xx | |||
mkirank | oh ok .. thanks | ||
autrijus | np | 15:27 | |
kcwu | err...maybe you have known this: life.p6 is incorrect now | 15:36 | |
i see full of "****************" | |||
autrijus | no I don't... recovering | 15:56 | |
hrm. can you diagnose it a bit for me? | 15:57 | ||
I need to run for a bit | |||
jabbot | pugs - 2324 - Removed comment which said there was a b | 15:58 | |
pugs - 2325 - * rewrite the ugly `return . foo =<< bar | 16:08 | ||
mkirank | I have written my first perl6 program :-) | 16:25 | |
www.perlmonks.com/index.pl?node_id=451261 | |||
Corion | r2323 - datenzoo.de/pugs/win2k.html | 16:27 | |
stevan | mkirank: I will commit it for you | 16:31 | |
jabbot | pugs - 2326 - adding in mkiranks Tic-Tac-Toe game | 16:38 | |
pugs - 2327 - patch up some broken examples | 17:08 | ||
Limbic_Region | www.perlmonks.org/index.pl?node_id=451261 # tic-tac-toe in p6 | 17:22 | |
PerlJam | I saw that just now. Quite cool. | 17:23 | |
nothingmuch | Limbic_Region: already in SVN ;-) | ||
machack666 | I found the problem with life.p6 | 17:25 | |
ingy | hi nothingmuch | ||
nothingmuch | hola ingy | ||
machack666 | I don't know if it's a bug in pugs or not | ||
$neighbours++ if @input[$i]; | 17:26 | ||
if we force scalar context with +@input... | |||
we get the expected behavior | 17:27 | ||
Limbic_Region | nothingmuch - I saw that but I figured it was worth mentioning | ||
theorbtwo | That should be boolean item context. | ||
machack666 | otherwise, it seems that we are not actually dereferencing the index, just testing for existence of the index in the array | ||
whether or not the value is 0 or 1 | 17:28 | ||
theorbtwo | That's a bug. | ||
machack666 | I think there may have been the same issue in the printing routine for the trinary switch | ||
i.e., @input[$index] ?? '*' :: ' ' | 17:29 | ||
but I didn't force scalar context for the priont routine | |||
it seemed to fix itself with the updated generate routine | |||
I wonder if it's an initialization problem for the array | |||
I don't know how the various contexts get set up, so I don't know why fixing the gen routine woudl change the print automatically | 17:30 | ||
I'll write a test for it ... do we have a subdir for various contexts? | |||
in the meantime I'll check in the version of life.p6 that works | 17:32 | ||
jabbot | pugs - 2328 - examples/life.p6 added explicit scalar c | 17:38 | |
machack666 | ok, added a test for boolean context for various trues and falses for arrays and hashes. | 17:49 | |
right now 4 are failing, which are the unexpected cases, leading to life.p6's failures, as well as any other {...} if @array[$index] or {...} if %hash{key} constructs | 17:50 | ||
ok bye | 17:51 | ||
stevan | metaperl_: ping | 17:56 | |
metaperl_ | hi | 17:57 | |
stevan | hey metaperl_ | ||
got a quick question for you | |||
metaperl_ | ok | ||
stevan | mind if /msg it? | ||
metaperl_ | no, go ahead | ||
stevan | its OT :) | ||
jabbot | pugs - 2329 - Checking for true values in array and ha | 17:58 | |
Corion | Does anybody have a hint/idea on what causes splice.t to die with "division by zero" if the last test is uncommented? Is "division by zero" a catch-all Haskell error? | 18:15 | |
autrijus | I have | 18:16 | |
in AST.hs and Types/Array | 18:17 | ||
I was using | |||
idx `mod` len | |||
Corion | aieee : | ||
) | |||
autrijus | to truncate [1,2,3][-1] to [1,2,3][2] | ||
since -1 `mod` 3 is 2 | |||
that is obviously wrong when you say -4 | |||
and obviously wrong when the list is zero sized | |||
but that was the night before 6.2.0 and I ran out of time :) | 18:18 | ||
Corion | Hmmm. But the mod x y should be OK/sane in Haskell (and not be like in C), except for the 0 case, of course. | ||
autrijus | woot! | ||
I just made pugs 100% faster (again)! | |||
Corion | autrijus++ # insane speedups | 18:19 | |
autrijus | haskell++ # get features working first, optimization becomes trivial later | ||
theorbtwo | Wow! How'd you do that/ | ||
autrijus | theorbtwo: -funbox-strict-fields and sprinkle strictness flags around | ||
theorbtwo | Ah. | 18:20 | |
autrijus | i.e. programming in OCaml mode ;) | ||
theorbtwo | Fun and fast boxes! | ||
autrijus | that makes sense because the Eval monad is now mostly a strict monad. | ||
(implicit thunking is largely eliminated) | |||
the only remaining lazy one is VList | 18:21 | ||
and that is going away when we replace it with a Eager and a Lazy | |||
where Lazy is a generator instead of haskell list | |||
as mandated by larry | |||
that also makes Pugs translatable to Perl6 :) | |||
i.e. it no longer depends on lazy evaluation | |||
Khisanth | my Program is Lazy; :p | 18:22 | |
autrijus | :p | 18:23 | |
Corion | Why does enforcing strictness speed up things? Lazyness only makes you pay later ... Or is the layness-tax / memory overhead that high? | ||
autrijus | Corion: it is true that lazyness is at most a linear slowdown | ||
machack666 | foundry down? | ||
autrijus | with a good compiler | ||
Corion | Err - am I confusing lazyness/eagerness ? What is "strictness" in this context? | ||
autrijus | machack666: worksforme | 18:24 | |
theorbtwo | strict == not lazy. | ||
autrijus | Corion: a strict data field is always eagerly evaluated. | ||
Corion | theorbtwo: Ah, so strict == eager | ||
autrijus | use strict; | ||
Corion | autrijus: :) | ||
autrijus | in the memory, !Int is just a int | ||
theorbtwo | But you can't unbox something that's lazy, and unboxing is lots faster. | ||
gaal | 100% faster is... impressive :) | 18:25 | |
autrijus | but Int must be Int | ||
Corion | "unbox" ? | ||
autrijus | Corion: unbox, as in using a native C type. | ||
Corion | aaah | ||
autrijus | that is very fast. | ||
because all accessors can be inlined | |||
and you no longer need to delegate to unboxing routines | |||
gaal | making smoke 2329 | ||
autrijus | gaal: this is the second time it happened after 6.2.1 :) | 18:26 | |
Corion | r2329 - datenzoo.de/pugs/win2k.html - 329s | ||
theorbtwo | OTOH, it can't hold funky things like _/_, promises of lazy computation, etc... but we don't much care anyway. | ||
Corion | Is your speedup in already? | ||
autrijus | no | ||
gaal | doesn't that mean it solves the haltin problem before it was ever posited? | ||
machack666 | can't seem to connect; autrijus: I | 18:27 | |
'm sending you a patch | |||
autrijus | k. | ||
machack666: or alternatively make it somewhere I can download? | |||
committing | 18:28 | ||
done | |||
stevan | if you listen closely you can hear the sound of a thousand SVN updates happening at once | 18:29 | |
autrijus | :D | ||
gaal | smoke 2330 in progress :) | ||
Corion | Hah. Found an unguarded use of mod, or rather, two - do we have exceptions? Not yet I guess ... | ||
autrijus | Corion: we do... retError is it | ||
Corion | autrijus: Aaah. Then I'll look at making "%" Perl-safe :) | 18:30 | |
autrijus | only two? I think there's 4 more in AST.hs :) | ||
machack666 | autrijus: n/m about the email. just got it to work | ||
autrijus | cool | ||
Corion | autrijus: I see "%" and op2 "splice" , but I'm only looking at Prim.hs | ||
autrijus | Corion: you can also generate VError yourself | ||
Corion: see op2Divide | |||
Corion | autrijus: I'll first write/steal a set of tests against the mod operator(s) | 18:31 | |
autrijus | that should give you a pretty clear idea | ||
Corion | ... and then I'll try to fix splice() | ||
autrijus | coolio | ||
a faster pugs does make coding happier | |||
obra | heh | ||
Corion | Huh ? Perl5 doesn't have mod.t ? | ||
Hmmm. In Perl5, $x % 0 and $y = 0; $x % $y # are not tested :) | 18:32 | ||
autrijus | "Illegal modulus zero" is the error msg | 18:33 | |
Juerd | I want $x / 0 to return Inf and $x % 0 to return $x. JUST TO BREAK THE RULES. | 18:34 | |
:) | |||
autrijus | 0 / 0 is NaN tho | ||
theorbtwo | $x<0, $x/0 should be -Inf, $x>0, $x/0 is +Inf; 0/0 is NaN. | 18:35 | |
autrijus | ...and haskell got that correct | 18:36 | |
but "5 `mod` 0" is still error. | |||
Juerd | theorbtwo: And $x % 0? | ||
theorbtwo | Should be 0. | ||
Juerd | Even with 1.5 % 0? | ||
theorbtwo | Why not? | 18:37 | |
Juerd | I hate by the way that in Perl 5 you can't meaningfully use 4 % 1.5 | ||
That should simply be 1. | |||
theorbtwo | For x $ y, as y approaches zero, the maximum for any x approaches 0. | ||
Corion | Hmmm. How do I force (Haskell/Pugs) evaluation without say() ? I don't want output in the test ... | 18:38 | |
Juerd | Corion: assign | ||
jabbot | pugs - 2330 - * add strictness annotation and unbox th | ||
pugs - 2331 - cleaned up tests and added checking agai | |||
Corion | juerd: dies_ok( { $x = 0; 3 % $x }, 'Modulo zero dies and is catchable with variables'); # doesn't die ... | ||
theorbtwo | Using eval_haskell, you mean? | 18:39 | |
Juerd | my $y = ...? | ||
Corion | Maybe I'm just using dies_ok wrong ... | ||
autrijus | bwahaha. | ||
Corion | D'oh - I was just using it wrong, of course ! | 18:40 | |
autrijus | pugs> my ($x, $y); $x = $y = 3; $y = 4; $x | ||
4 | |||
Corion | dies_ok( { $x = 0; say 3 % $x; }, 'Modulo zero dies and is catchable with variables'); # is fatal now :) | ||
autrijus: Aiiieeeee! :)) | |||
Juerd | autrijus: Evil. And wrong. :) | ||
autrijus | that's the core of array_values_in_bool_context.t | ||
it has nothing with array values | |||
or bool context | |||
it has everything to do with chained assignment. | |||
please refactor the test :) | |||
autrijus fixes | |||
Juerd | autrijus: Why is chained assignment special? | 18:41 | |
I thought it'd just be $x = ($y = 3); | |||
autrijus | Juerd: right, but $y=3 was specifically returning a lval ref | 18:42 | |
which is not rvalued | |||
gaal | forum2.org/gaal/pugs/smoke-msys.html # duration 239. neat. | ||
autrijus | gaal: I have no frame of reference :) | ||
Juerd | autrijus: That's correct. | ||
autrijus: However, the second (lexically first) assignment should use only its value part, which cannot be lvalue on that level | 18:43 | ||
gaal | autrijus: it means "very fast". | ||
:-p | |||
autrijus | Juerd: right, but my enterRValue is not doing what it should | ||
gaal: what was it before? | |||
Juerd | Assigment has to return an lvalue, because ($y = 3) += 1 should end up in $y being 4 :) | ||
autrijus: I see. | |||
gaal | unfortunately, i overwrote my old tests.ymls; but i think it was on the order of 350. | 18:44 | |
theorbtwo | What's the unit on that? | ||
Seconds? | |||
gaal | sec | ||
onds. | |||
autrijus | neat. | ||
theorbtwo | Nice. | ||
autrijus | so yeah, indeed 100% faster. | ||
(since there is harness overhead) | 18:45 | ||
gaal | does not include the build iteself though. | ||
heh | |||
100% speedup means new time = 0 sec :) | |||
ingy | hola | ||
gaal | hey | ||
autrijus deliberately misinterprets the numbers | |||
gaal | lies, damn lies, etc. | ||
autrijus | riight. | ||
pugs> ($_ = 3)++; $_ | 18:46 | ||
4 | |||
gaal | btw auytrijus, isTerminalDevice lies on msys, so "pugs" w/o params hangs. | ||
s/yy// | 18:47 | ||
autrijus | pugs> my ($x, $y); $x = $y = 4; $y = 3; $x | ||
4 | |||
gaal: damn lies | |||
Juerd | autrijus: Your = has an identity disorder. It thinks it's := ;) | ||
autrijus | Juerd: it's fixed :) | ||
gaal | fer real! and echo 'say "hi"' | pugs does work, so it's not that msys closes stdin. | ||
looks like an msys bug :/ | |||
autrijus | gaal: so... move hIsTerminalDevice stdin to compat | 18:48 | |
and try to find some other way? | |||
I wonder why it worked | |||
gaal | ....and do what on msys? | ||
Juerd | autrijus: Oh, right. 'x' and 'y' look too much alike. | ||
jabbot | pugs - 2332 - Added test against fatal zero modulus | ||
pugs - 2333 - * fixed the identity disorder of `=`. | |||
gaal | return 'true' if no params? :))) | ||
autrijus | gaal: I think so | ||
least surprise etc. | |||
gaal | hahaha | ||
vile evil. | 18:49 | ||
autrijus cackles an evil cackle | |||
gaal | img93.echo.cx/img93/9492/evil2zq.jpg | ||
autrijus | hm, more than 329s passed | ||
I wonder if it's faster for Corion or not | 18:50 | ||
gaal | your machine is so slow | ||
Corion | autrijus: I'm currently not smoking | ||
autrijus | oh ok :) | ||
that's fine | |||
Juerd | autrijus: Pugs has no lazy lists yet? | ||
autrijus | gaal already gave us the good numbers | ||
gaal | don't mind me, i'm a little tipsy :) | ||
Corion | I'm writing tests to banish fatal `mod` :) | ||
Limbic_Region | Corion - trying to kick the habit? | ||
Corion | Limbic_Region: Busy elsewhere | ||
autrijus | Juerd: not yet. | 18:51 | |
Juerd: and utterly not since I strictified the data fields | |||
Juerd | autrijus: paren parsing is wrong: say (1|2|3).pick should be say((1|2|3).pick), not (say(1|2|3)).pick | ||
autrijus | Juerd: if it looks like a function. | 18:52 | |
Juerd | autrijus: () rules are the same as [] and {} | ||
autrijus: No whitespace allowed, and if you want whitespace, use dot | |||
autrijus | Juerd: you are positive? | ||
Juerd | autrijus: The thing with () is that it CAN usefully use the value if there's whitespace - as the first argument | ||
Yes | |||
I'll try to find it in an S | |||
18:52
Aankh|Clone is now known as Aankhen``
|
|||
gaal | autrijus, the isTerminalDevice compat hack won't work, exactly because people want to pipe stdin to pugs. maybe we need an explicit flag to start interactive mode? too bad -i is sorta spoken for. | 18:54 | |
Juerd | if $term($x) # function call because operator expected | 18:55 | |
if $term ($x) # syntax error (two terms in a row) | |||
if $term .($x) # valid function call (term expected after dot) | |||
HOWEVER - this is with a variable $term | |||
If you have a named sub, you already know it's a sub | |||
At parse time | |||
autrijus | right. | ||
Juerd | And can just use ($x) as the first argument | ||
Making subname (1), 2, 3 a 3-arg subcall | |||
autrijus | print (4) + 3; | ||
Juerd | 7 | ||
autrijus | it is terribly surprising. | ||
Juerd | But print(4) + 3; # 4 (or 3) | 18:56 | |
autrijus: No, the *current* thing is surprising, which is why it was changed :) | |||
autrijus | say ("Hello" ~ $x) ~ 8; | ||
ok... | |||
I trust you are positive on this :) | |||
Juerd | I am - just can't find the spec for it | ||
Which happens all the gd time. | 18:57 | ||
Corion | Yay. Splice bug is fixed | ||
autrijus | Corion: yay! | ||
Corion | ... but I'll run "make test" before I commit :) | ||
Juerd | The synopses are very incomplete when it comes to explaining why decisions were taken, and not every decision is reflected | ||
Arathorn has been surprised many times by the print (4) + 3 thing in p5 :( | |||
Juerd | And apocalypses are way too large to grep | 18:58 | |
jabbot | pugs - 2334 - * unmark unexpected success | ||
gaal | autrijus, i'm tracking where the bug is. do you remember whihc module defines isTerminalDevice? | ||
autrijus | System.IO | ||
Corion | And I think I also found a bug in the Makefile.PL ... "make clean" doesn't clean up Regex/* , UTF8/* and Unicode/* | 18:59 | |
autrijus | hIsTerminalDevice | ||
gaal | btw: anyone else using firefox 1.03 here? have you been seeing a bug where find-as-you-type doesn't? | ||
Arathorn | (especially perl -e 'print (4+2)/3' # yields 6) | ||
gaal | thanks, autrijus. | ||
Juerd | autrijus: if is proof, by the way | ||
gaal | ...doesn't find anything, that is. | ||
Juerd | autrijus: As if is just a function, if ($foo) { ... } could not be useful without this rule... :) | ||
Corion | ... which is what confuses "make; make clean; make optimized" or the other sequence | ||
autrijus | Juerd: I understand. | ||
but I don't believe that if is just a function :) | |||
Juerd | Which makes me wonder whether if($foo) { ... } really is an error...! | ||
autrijus | exactly. | 19:00 | |
if(3){die 2} | |||
I'd hate to see it becoming an error. | |||
Juerd | No one sane would write that after the first months though | ||
if 3 {die 2} | |||
die 2 if 3 | |||
3 and die 2 | |||
autrijus | I beg to differ. :) | ||
Juerd | die 2 | ||
autrijus | anyway, if is currently a macro. | ||
Corion | Perl6 - redefining sanity | 19:01 | |
autrijus | I will keep it that way until @larry says otherwise. | ||
Juerd: btw | |||
$obj .method ($arg); | |||
ok or not? | |||
Limbic_Region | rx:perl5/([XO])\1\1/ is purely a temporary construct correct - there is no intention to have p6 support inline p5 regexen right? | ||
autrijus | also: $obj . method ($arg); | ||
xerox | Why do you call him "@larry" ? | ||
autrijus | xerox: there are multiple larrys | 19:02 | |
Juerd | autrijus: No | ||
autrijus | Limbic_Region: :perl5 is defined in S05 | ||
Limbic_Region notes the irony in xerox needing to be told about multiple copies | |||
crysflame | heh :) | ||
Juerd | autrijus: Larry declared that parens are required with method calls :( | ||
Corion | I thought it was now called :Perl5 ? :) | ||
gaal | lol | ||
autrijus | Juerd: I mean whitespace. | ||
Corion: :P5 ! | |||
Corion | Ah ;) | ||
autrijus | $obj .method (1) | ||
$obj .method(1) | 19:03 | ||
Juerd | autrijus: And whitespace before ( is invalid as I said before... | ||
autrijus | $obj .method .(1) | ||
Juerd | autrijus: If you want whitespace, you need . | ||
autrijus | hmm it will mean something entirely different, no? | ||
it would mean $obj.method().(1) | |||
print .(3); | |||
are you sure it is valid? | |||
Limbic_Region | ok - thought I had read that but then I was confused - is the experimental "code on lhs" constructs going to be supported to? | ||
Corion | "make test" sure feels faster now :) | 19:04 | |
Juerd | autrijus: Good question. I don't know. | ||
Limbic_Region | and if yes, is both p5 and p6 valid | ||
autrijus | Limbic_Region: what? | ||
code on lhs? | |||
Limbic_Region | "(?{ code })" for instance | 19:05 | |
lhs = left hand side | |||
not to be confused with /e for rhs | |||
autrijus | oh. | 19:06 | |
Limbic_Region | "(??{ code })" as well (both from perldoc perlre) | ||
autrijus | for p6 you can just use {} | ||
for p5 I'm not sure. | |||
Juerd | {}, <{}> or <()>, depending on what you mean. | 19:07 | |
theorbtwo | To a way of thinking rx:perl5/(?{ code })/ would imply that the code should be p5 code... which will probably never be supported. | ||
Limbic_Region | that's why I was asking | 19:08 | |
theorbtwo | I wouldn't be terribly surprised if, at some point, p5 regexes become an alternate syntax of p6 regexes, so they'd work, but have p6 code. | ||
autrijus | I have no idea about that. | ||
Limbic_Region | I seemed to remember reading p5 regexen would be supported and then I second guessed that because of the experimental code features | ||
gaal | autrijus: confirmed isatty bug is in msys :/ | ||
Limbic_Region wonders if p5 regexen will actually be translated to p6 rules under the covers | 19:09 | ||
gaal | int main(){printf("isatty = %d\n", isatty(0));} # prints "0" | ||
....and 1 on linux | 19:10 | ||
(and unstd's isatty is what gets called eventually.) | 19:11 | ||
autrijus | print (4)+4 | 19:13 | |
now prints 8. | |||
please someone write a test for this. | |||
it's a major major change to my brain :) | |||
gaal | pugs5bugs? :) | ||
perl5bugs that is | |||
obra | "pugs5" | 19:15 | |
gaal | "You must be logged in to report a bug" on bug page. wow, everything non wikibile looks so -- now. | 19:18 | |
jabbot | pugs - 2335 - splice([], 1) now works | ||
pugs - 2336 - * `print (4)+4` now prints 8, because th | |||
gaal | so (--), even. | ||
Juerd | Hm | 19:19 | |
I'm thinking about proposing a radical rule syntax change. | |||
autrijus | Juerd: | ||
The context in which a subscript is evaluated is no longer controlled by the | |||
sigil either. The inner context turns out to be whatever the outer context | |||
was, since we now have convenient singleācharacter context specifiers to force | |||
either scalar or list context. | |||
does this mean | |||
scalar @foo[func()] | |||
will evaluate func in item context | |||
list @foo[func()] | |||
will evaluate it in slurpy context? | |||
gaal | t/builtins/arrays/splice.t | 19:20 | |
pugs: divide by zero # on linux | |||
Juerd | autrijus: Yes | ||
autrijus | @foo[func()] = boo(); | ||
what about this? | |||
what context is func() under? | |||
Juerd | autrijus: It also means that if you want a slice and then stringify that, you have towrite ~list @foo[func] instead of ~@foo[func], because ~@foo[func] is ~@foo[scalar func], or maybe even ~@foo[~func] (nahh?) | 19:21 | |
autrijus: hm. void context! :) | |||
autrijus | Juerd: you are kidding! | ||
:) | |||
Juerd | autrijus: I don't know :) | ||
autrijus | ok. I'll assume list by default. | ||
Juerd | But by the rules you layed out, it's void :) | ||
autrijus | no, it's subtly different | ||
we are at lhs now | |||
Juerd | Yes | ||
autrijus | and larry says | ||
@x[1,] | |||
@x[1,] = 3 | 19:22 | ||
Juerd | Which is, conceptually, also the result of the entire expression | ||
autrijus | @x[1] = 3 | ||
Juerd | Which is in void context :) | ||
autrijus | parses differently | ||
@x[1,] = foo(); # foo is as plural | |||
Juerd | autrijus: Hm, then assume scalar by default? | ||
autrijus | @x[1] = foo(); # foo is as singular | ||
Juerd | @x[func] = foo(); # item | ||
@x[func,] = foo(); # slurp | |||
autrijus | why? | ||
oh! | |||
riiight. | |||
Juerd | consistency perhaps? | ||
autrijus | smart. | ||
Juerd | I wouldn't know :) | ||
autrijus ponders raising it on p6l again | 19:23 | ||
Corion | gaal: Are you on the latest version? It should work now, that is, dies_ok ... | ||
Err - not dies_ok, it should Just work ... | 19:24 | ||
theorbtwo | You know, I hate it when I try to set up a visualization of something complex, and all I see is "wow, that looks complicated". | 19:25 | |
autrijus | theorbtwo: :D | ||
Corion | Grr. How do I convert a Ratio to a VInt ? | 19:27 | |
gaal | forum2.org/gaal/pugs/smoke-linux.html r 2334 | ||
Corion, is that the last one? | |||
Corion | op2Int does seeom to want a Ratio, when all I got is a VInt. Or so I think. | 19:28 | |
gaal: Yep, the last one in splice.t should Work ... | |||
(and does for me) | 19:29 | ||
gaal | trying on win32... | ||
19:29
Arathorn is now known as Aragone
|
|||
theorbtwo | My .hi grapher works, in as much as it produces a dot file that describes the relationship between different modules in pugs. | 19:30 | |
gaal notices the versions reported in the version string and the revision yaml entry are different | |||
prolly perl Makefile.PL related thogh. | |||
theorbtwo | However, it is not graphable into something that looks useful. | 19:31 | |
What are they, gaal, and which agrees with svn info? | |||
gaal | revision is always from svn info, to2. | ||
see forum2.org/gaal/pugs/smoke-linux.html | 19:32 | ||
the "pugs" version info is from pugs -V | |||
which apparently is not updated every r, but rather every Makefile.PL (+Config.hs presumably) | |||
forum2.org/gaal/pugs/smoke-msys.html r2336 msys | 19:33 | ||
theorbtwo | Nope, gaal. | ||
Corion | gaal: That was before commit | ||
autrijus | I asked p6l after all | ||
Corion | my commit of the tests should have been at r2335 I think | 19:34 | |
gaal | to2, what do you mean "nope"? | ||
autrijus | happily Juerd and I didn't clash | ||
theorbtwo | src/Pugs/pugs_version.h : .svn/entries util/version_h.pl | ||
$(PERL) util/version_h.pl src/Pugs/pugs_version.h | |||
That's from the Makefile. | |||
Juerd | autrijus: I'm posting lots of questions to p6l by the way | ||
gaal | then how do you explain the r difference? | ||
theorbtwo | Every time .svn/entries changes, src/Pugs/pugs_version.h should be remade. | ||
Juerd | autrijus: Inspired by our discussions | 19:35 | |
pasteling | "Corion" at 217.234.76.42 pasted "Why doesn't this Modulus thing even compile?" (23 lines, 661B) at sial.org/pbot/9637 | ||
autrijus | Juerd: fyi, I posted about expressions | ||
Juerd | autrijus: Reading it as we chat | ||
autrijus | in slicing context | ||
Juerd: that describes pugs r2337 | |||
theorbtwo | Do a svn up -r2335 && make | ||
Juerd | I want to write my rule syntax overhaul proposal, but need silence in my mind for that :) | 19:36 | |
autrijus | sorry :) | ||
theorbtwo | Does /usr/bin/perl -Iinc util/version_h.pl src/Pugs/pugs_version.h get rerun, and does Compiling Pugs.Help ( src/Pugs/Help.hs, src/Pugs/Help.o ) appear? | ||
Juerd | Currently, all sorts of syntax are flying through my head | ||
autrijus | also, life.p6 lives. | ||
Corion smokes r2337 | |||
autrijus | Corion: cool, that's needed :) | ||
hopefully it will take less than 5+ minutes | |||
Juerd | I'll do this later. There must be some day during which nothing interesting happens :) | ||
Corion | autrijus: Compiling now takes longer than smoketesting I think :) | 19:37 | |
gaal | to2, i believe the r discrepancy is sufficient evidence that make lies, or that at least it isnt' beign used properly. | ||
theorbtwo | Possibly. | ||
But I don't see any failure mode where running Makefile.PL helps. | |||
Juerd | autrijus: It passes my sanity checker. Now we have to wait for Larry's | ||
autrijus | good. | ||
Corion | ... still compiling r2337 :) | 19:39 | |
gaal | to2, i need to go off now, feel free to investigate / hack yaml_harness further :) | ||
Limbic_Region | isn't there a way to do cached compiles where only files that have changed are recompiled? | 19:40 | |
gaal | l~r, ghc does that automatically | ||
gaal & | |||
theorbtwo | L~R: thus ghc's noise about skipping. | 19:41 | |
Limbic_Region wouldn't know as he has never compiled ghc nor Pugs | 19:42 | ||
Limbic_Region hangs his head in shame | |||
Juerd shakes Limbic_Region's hand | |||
Coding Perl 6 without testing any of it :) | |||
Juerd only recently had to compile pugs to verify that what it *did* was right :) | 19:43 | ||
autrijus | Limbic_Region: you can download ghc binaries... | ||
Juerd | Hmmm | ||
Can someone write a bot that evaluates every expression uttered on IRC? | 19:44 | ||
Corion | Juerd: #haskell has it, but I wouldn't want to run it for Perl :) | 19:45 | |
Juerd | (Hm, no, useless. I'm not going to actually provide a func() for stuff like that :P) | ||
Corion | Juerd: But if you write a good irc kernel, go ahead :) | ||
machack666 | hey, there were problems with array_values_in_bool_context.t ? | ||
Limbic_Region | autrijus - the trouble is that I am not aware of any Win32 versions that don't require the Installer (I do most of my work at work and don't have rights to install there) | ||
autrijus | machack666: no, it's fine now | ||
Juerd | Limbic_Region: Time to escape to a home connection. | ||
Limbic_Region: Can you run putty? | |||
autrijus | machack666: but it all passes (life.p6 too) | ||
so move it out from pugsbugs | |||
machack666 | ok ... svn delete and svn add, or is there a move command? | 19:46 | |
autrijus | Limbic_Region: I thought GHC installer lets you choose path | ||
Corion | svn move | ||
autrijus | machack666: there is svn move. | ||
machack666 | thx | ||
Limbic_Region | Juerd - up until this weekend I could but that got shut off too | ||
Juerd | autrijus: Installers in Win32 identify themselves as being installers, at which the great "security policies" of Windows become active. | ||
autrijus | Limbic_Region: otherwise, I'm sure win32 folks like Corion or others will be happy to zip up C:\ghc and put it somewhere | ||
because it doesn't need registry | 19:47 | ||
Juerd | autrijus: Hack out that part and many things that don't need to write in system directories will magically work... :) | ||
Limbic_Region | autrijus - is that all it takes? No installation of .dlls in system32 or the registry | ||
autrijus | just unzip back to c:\ghc, add c:\ghc\bin to path | ||
Limbic_Region: nope | |||
Limbic_Region | ok | ||
Limbic_Region will ping Corion about it | |||
Corion | ghc comes as an ugly/stupid .msi package, and there is no .zip. But I can provide that if necessary. I even have 48k/s upstream nowadays. | ||
autrijus | the .msi will of course add registry | ||
but those aren't needed | |||
Limbic_Region would prefer just a plain zip file | |||
machack666 | what's a sensible location for array_values_in_bool_context.t? something to do with return values makes sense... | 19:48 | |
Corion | Somehow, t/hashes/slice.t broke | ||
See datenzoo.de/pugs/win2k.html | |||
autrijus | gah | ||
Limbic_Region | Corion - ATM, all I can do is http download | ||
Corion | Hmmm. And also some other array stuff ... | ||
autrijus | I just closed the tab I'm writing my journal in | ||
autrijus sobs | |||
Limbic_Region | autrijus - you using FireFox? | ||
Corion | Limbic_Region: Should I serve the zip via http then? I'll create the .zip now ... | ||
autrijus | Limbic_Region: yeah | ||
Limbic_Region | and if so, WTF don't you have the tab extensions? | ||
(undo closetab) | 19:49 | ||
grrr | |||
autrijus | oh! | ||
grr. | |||
didn't know that! | |||
autrijus goes installing tab extensions | |||
Limbic_Region | undo close tab plus plus | ||
theorbtwo | Will that save the contents of form fields, though? | ||
Limbic_Region | autrijus - hang on, there are several - I recommend a specific one | ||
theorbtwo | (undo close tabs)++ | ||
Corion | writing-texts-in-a-real-texteditor ++ | ||
Oops. Ghc-6.4.zip has 48MB ... That means it will take at least 1000 seconds to upload ... | 19:50 | ||
Limbic_Region | autrijus - piro.sakura.ne.jp/xul/tabextensions...ex.html.en | ||
Corion | Limbic_Region: I'll upload ghc-6.4 now, but it'll take some time until it appears ... | 19:51 | |
Limbic_Region | Corion - wait | ||
I have a better idea | |||
let me do it at home, burn a CD, and bring it to work | 19:52 | ||
autrijus - that link is for my personal preference for a tab extension in FF | |||
autrijus | Juerd: weird | ||
~%x{1,2} | 19:53 | ||
turns out to become | |||
~%x{ [1,2] } | |||
which is then | |||
~%x{"1\t2"} | |||
er | |||
~%x{"1 2"} | |||
does this seem remotely sane? | |||
elmex | ?? | 19:54 | |
what does ~ mean? | |||
autrijus | string context | ||
elmex | err | ||
... | |||
Aankhen`` | G'night. | ||
theorbtwo | Nope, it doesn't, autrijus. | ||
elmex | perl6 is beyond all limits of my comprehension... haskell is easy... but perl6 is a monster | 19:55 | |
Juerd | autrijus: Anything can be a hash key. Doesn't have to be a string. | ||
autrijus | Juerd: assume it is shaped as string | ||
Corion | Yay. Seems like modulus now works/dies sanely too ... | ||
autrijus | as is the default. | ||
Juerd: I'm asking the sanity of scalarifying (!,2) | |||
(1,2) | |||
Corion++ | |||
Juerd | autrijus: And what you mean is written as ~list %x{1,2}, possibly ~*%x{1,2} (whoa) | 19:56 | |
autrijus | whoa indeed | ||
Juerd | p6l it :) | ||
autrijus | done | ||
Juerd | Hm | ||
My rule syntax change turns out to be limited to just three things | 19:57 | ||
Or, well, just two actually. | |||
1. Make '' and "" work for literal string matches, instead of the ugly <''> and <""> | 19:58 | ||
jabbot | pugs - 2337 - * we now propagate outer context to inne | ||
pugs - 2338 - Moved array_values_in_bool_context.t out | |||
pugs - 2339 - * fix slice.t to use is() | |||
Juerd | 2. Make $foo interpolate as a rule, not literal string. Want literal? use "$foo" | ||
autrijus | scw: why did you remove output/fp/fp. | 19:59 | |
Juerd | (3. Make <$foo> use $foo as a rule's NAME) | ||
autrijus | I'm adding it back. | ||
Corion | autrijus: Can you work on making ghc faster? I have the feeling that compiling Pugs now takes more time than testing it :))) | ||
autrijus | maybe it's time to write more tests! | 20:00 | |
Corion | autrijus: :))))) | ||
autrijus | (or, alternatively, don't do make optimized for smoke anymore) | ||
Corion | autrijus: Ah, that could be an interesting idea, again | ||
Juerd | But it just changed! :) | 20:01 | |
Give it chance to settle | |||
Corion | Aieeee - more breakage ... datenzoo.de/pugs/win2k.html | 20:08 | |
jabbot | pugs - 2340 - * add it back. | ||
autrijus | Corion: slice.t is repaired as r2339 | 20:09 | |
Corion | Aaah. Will then rerun ;) | ||
autrijus | no need to really :) | ||
Corion | arith.t also is broken ... | ||
autrijus | I just fixed the test file | ||
grep.t worksforme | |||
I wonder why it failsforyou | |||
Corion | weird ... | ||
autrijus | arith.t too | ||
clearly your harness is weird | |||
Corion | need to check then ... Maybe my modulus fix breaks it | ||
... which is not yet committed for good reason ;) | 20:10 | ||
autrijus | :) | ||
Corion | Aaah. Yes. How do I get a VRat into a VInt ? | ||
autrijus | % 0 | 20:11 | |
er | |||
% 1 | |||
4 % 1 | |||
oh wait, "into" | |||
truncate | |||
truncate rat :: VInt | |||
truncate (rat :: VRat) :: VInt | |||
just saying "truncate x" is fine | |||
Corion | Will try that ;) | 20:12 | |
Juerd | What do you do when it feels like your mind is about to explode because it ponders too much things simultaneously? | 20:13 | |
Perl 6 is killing me mentally, and I don't know how to relax. | |||
Corion | Yay. Compiles :) | ||
Hmmm. But it returns "undef" for lots of the modulus tests. That's not what I want ;)) | 20:14 | ||
autrijus | Corion: you accidentally nuked my fmap change ;) | ||
that's ok though, I'm recommitting | |||
Corion | autrijus: Bah :( Sorry :( | 20:15 | |
autrijus | that's fine... I wonder why svn up didn't catch that | ||
Juerd | Any music you can recommend? | 20:16 | |
autrijus | pink noise | 20:17 | |
Juerd | eh | ||
noise? | |||
autrijus | pink noise = absolute silence | ||
it cancels out ambient sounds | |||
Juerd | Impossible here. Busy street | ||
autrijus | try playing pink noise with an earphone :) | 20:18 | |
Juerd | (Near fire brigade... *hates*) | ||
autrijus | works wonders. | ||
will return you to sanity in no time | |||
Juerd | Then I hear my own breathing and heartbeat. Drives me NUTS! :) | ||
jabbot | pugs - 2341 - * re-apply the fmap change accidentally | ||
autrijus | it cancels _that_ too :) | ||
Juerd | Hmmm | ||
Do you happen to have an .ogg or .mp3 of that? :) | |||
Corion | autrijus: return $ if y' == 0 then err else VRat $ (truncate x') % (truncate y') -- doesn't work, and seems to always return 0. What am I doing wrong here? | 20:19 | |
for | VRat x' <- x, VRat y' <- y | |||
autrijus | Juerd: pink noise doesn't compress well | ||
Juerd: are you on win32? mac? *nix? | |||
crysflame | pink noise is interesting | 20:20 | |
Juerd: pink noise generators are freeware for all platforms | |||
Juerd | autrijus: mac | ||
autrijus | Corion: don't think you want to do that | ||
Corion: you just want x' % y' | |||
iirc. | |||
Juerd: oh. Noise.app | |||
blackholemedia.com/noise/ | |||
Juerd | neat | ||
Corion | autrijus: But for = return $ if y' == 0 then err else VRat $ x' % y' -- GHC says: | 20:21 | |
Couldn't match `Integer' against `VRat' | |||
Expected type: VRat | |||
Inferred type: Ratio VRat | |||
autrijus | wait.. are you implementing mod? | 20:22 | |
Corion | autrijus: Yep | ||
autrijus | mod in haskell is spelled `mod` | ||
not as % | |||
% is the rational divisor | |||
Corion | D'oh ;)))) | ||
... so the "undef" results are actually OK ;) | |||
Juerd | I think they have huge pink noise generators in data centra | 20:24 | |
centres, centers, whatever. | |||
It sounds exactly the same :) | |||
autrijus | rofl | ||
I hope it helps | |||
it doesn't help a lot if you are playing it off a speaker | |||
Juerd | I have no headphones here yet | 20:25 | |
autrijus | sadly | ||
Juerd | Well - I do have some, but the cord is so short I'd have to put my head in the cupboard that hides my mac :) | ||
And they suck anyway. | |||
I bet this noise would fry them ;) | |||
theorbtwo | G'night all. | 20:27 | |
autrijus | 'nite | ||
Corion | Hmm. %() should now work, but I'll wait for the compile/smoke run to finish :) | 20:28 | |
autrijus | woot | ||
Juerd | What is %()? | ||
autrijus | I think Corion means %0 | 20:29 | |
but I'm not sure | |||
Limbic_Region | 0% financing? | ||
Qiang | autrijus you are still up =) | ||
Corion | No, I mean <<%>> , or however `mod` is spelled in Perl6 :) | ||
Qiang | 0% down? | 20:30 | |
Juerd | Corion: Oh, &infix:<%> | ||
Corion | Aieeee - App "%" [] [Val (VRef <Scalar::Proxy>),Val (VInt 2)] # is not handled by my code. Can I somehow punt to op2Num after a short parameter check? | ||
Juerd | Corion: In perl, functions aren't referred to by adding parens, but by adding & :) | 20:31 | |
Corion | Juerd: :)) | ||
Juerd | So we speak of &int, not int() | ||
As int() *calls* the function | |||
wow. | |||
I actually SAID backspace. | |||
theorbtwo | A good chr(0x8) to you too. | ||
theorbtwo SAYS the goodnight. | 20:32 | ||
xerox | |||
xerox said backspace too :-) | |||
autrijus | how do you do that? | ||
crysflame | 20:33 | ||
xerox | autrijus, with Emacs, C-j Backspace | ||
Oops, C-q C-h | |||
autrijus | journal up. and off to sleep I go... | 20:35 | |
autrijus waves & | |||
Juerd | Good night | 20:36 | |
autrijus | Juerd++ # indispensible in-channel language guru | 20:38 | |
& | |||
Qiang | night. autrijus | ||
hm, it's actually 4:40 in taipai. isn't it. | |||
Juerd | Yay - I'm not sure I deserve that title, though. I just think a lot (too much) and weed out illogical and inconsistent things where I can. | ||
Qiang | what is in-channel language ? | 20:39 | |
stevan | Corion: ping | 20:40 | |
Corion | Awake | ||
Juerd | Qiang: in-channel guru of language | ||
stevan | Corion: I see (from the journal) you have been doing test refactors | 20:41 | |
Corion | stevan: Not really - today I dabbled in Haskell | ||
stevan | I was going to do some myself tonight, anything you noticed I should work on | ||
Corion | (and fixed splice() and will fix &infix:<%> | ||
stevan | Corion: well any thoughts on places to attack for tests? | ||
Corion | ... I hope. If the smoketest tells me all is well. | ||
stevan: I usually scan through the skip/todo stuff, and remove the skip/todo/eval and see if it still works :) | 20:42 | ||
stevan | good idea :) | ||
I think I might try and expand the t/oo tests too | |||
Qiang | Juerd: what language are you refering too? ah. hope it's not a dumb question. | 20:43 | |
Corion | Hmmm. Can I get a sanity test - does t/data_types/array.t fail for anybody currently? I get 2 failures there, and 4 failures in t/data_types/mixed_multi_dimensional.t ... | ||
... and I want to make sure these failures were there before I commit, so I didn't cause them :) | 20:44 | ||
Juerd | Qiang: Perl 6 | ||
Qiang | Juerd: now i felt that was a dumb question. =) | ||
Juerd | Qiang: Go back in time and unask it. | 20:48 | |
PerlJam | Juerd isn't the language guru for perl6, that's luqui | 20:49 | |
Juerd is just the person who keeps everybody honest ;) | |||
or maybe that's sane? | 20:50 | ||
Qiang | Juerd: maybe perl6 can do that :) | ||
Juerd | PerlJam: luqui indeed is the guru. | 20:51 | |
What do you mean with honest/sane? | 20:52 | ||
PerlJam | Juerd: you seem to be waging a battle against the eventual insanity of the cabal. | 20:55 | |
Corion | Everybody needs windmills to tilt against | ||
PerlJam | Corion: sure. | ||
Juerd | PerlJam: I wish I could parse that. Can you try and factor in my limited understanding of english? :) | 20:56 | |
Corion | data Cabal | Maybe Insane | ||
PerlJam | Juerd: various people say insane things on #perl6 or p6l and you tell them that they are insane. Then we move on to the next thing. | ||
Juerd | I think some ideas are insane because they're inconsistent or cause extra work. | ||
PerlJam: Oh, like that. Yes, I say what I think. | 20:57 | ||
Qiang | whew, now we can all understand each other. | ||
PerlJam | Juerd: or, wrt to "honest", you tend to make sure that everyone's understanding is the *same* understanding :) | ||
Juerd | Well, only opinions. Otherwise I'd be flooding. | ||
PerlJam: I'm not sure how and why I do that - and wasn't aware of it myself :) | 20:58 | ||
jabbot | pugs - 2342 - Fixed &infix:<%> to become trappable | ||
pugs - 2343 - Moved the modulus test from t/pugsbugs t | |||
Juerd | afk # hands&arms hurt again | ||
PerlJam | Juerd: You do it just by asking questions or making statements regarding your own understanding of things. | ||
Juerd | That's because with questions, implementing something is impossible. There must eventually be no question left. | 20:59 | |
afk | |||
Qiang | questioning is good thing. it's hard to cover all aspects. | 21:00 | |
i often get asked and then i keep silence for few seconds and said, i will think about that. | 21:01 | ||
Juerd: i think you keep the unclear question coming so that whoever is implementing will have to be have answer for it. | 21:02 | ||
Corion | r2343 - datenzoo.de/pugs/win2k.html - 8 failing tests | 21:05 | |
pugscode.org <Overview Journal Logs> | smoke/win2k (occasional): xrl.us/fqum (4537ok/8fa/891td/33sk, r2343), Mac OS X (160/4483, r2216), Linux (60/4482, 2267) | pugs.kwiki.org | 21:06 | ||
Corion | pugscode.org <Overview Journal Logs> | smoke/win2k (occasional): xrl.us/fqum (4537/8, r2343), Mac OS X (160/4483, r2216), Linux (60/4482, 2267) | pugs.kwiki.org | 21:07 | |
jabbot | pugs - 2344 - some test refactoring | 21:08 | |
pugs - 2345 - adding in dragonchilds tic-tac-toe refac | 21:18 | ||
Corion | t/magicals/caller.t fails due to a "misreported" column offset. I think the offset reported is the opening { and not the function call. I don't know where to fix this though, and/or if more tests with subs that extend over several lines are needed. | 21:20 | |
good night | 21:30 | ||
jabbot | pugs - 2346 - Added test against running system() and | 21:38 | |
clkao | nnunley! | 21:45 | |
nnunley | clkao! | 21:46 | |
clkao | welcome back to civilization. i seem to have nicer neighbor than you do | ||
Limbic_Region | using svk, what is the shortcut to checkout Pugs (assuming it was never on the box before) ? | 21:54 | |
clkao | svk co URL | 21:56 | |
nnunley | clkao: It's not so bad here once you get used to it. Some of it is pretty decayed, but there are spots of interest here and there. | ||
clkao | nnunley: *nod* | ||
Limbic_Region | clkao - that's not smart enough to skip every single revision is it? | ||
clkao | Limbic_Region: it will ask you if you want to do so. | ||
we are user-friendly! | 21:57 | ||
Limbic_Region | ok - cool | ||
machack666 | is there some sort of document detailing the status of pugs' support of perl 6's features, i.e., some sort of overview in checklist form so we can know which features are known to work and which ones are known not to work? I see this as something that could help focus both development and help facilitate test writing and some of the other auxilary needs of the pugs project. | 23:56 | |
really, i'm looking for a detailed roadmap, as well as the ability to look up in tabular form what the status of (say) a particular mthod | 23:58 | ||
tr | |||
a\it i | |||
s | |||
(2 year olds are better than cats...) |