Chip needs help!!! www.geeksunite.net | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste: sial.org/pbot/perl6
Set by theorbtwo on 10 July 2005.
svnbot6 r5380, mugwump++ | Implement the variety of round-like functions (doesn't work - currently commented out) 00:00
nothingmuch *sigh 00:02
mugwump heck, I've got a sub that works interactively in pugs, but when placed in a test script makes pugs bizarrely expect an extra } at the end of file 00:09
nothingmuch runFile is soooooooo slloooooooowwwww
mugwump ?eval sub r($n) { ($n<0) ?? int($n-0.5) :: int($n+0.5) }; [ r(0.5), r(0.4), r(-0.5), r(-0.4) ] 00:10
evalbot6 [1, 0, -1, 0]
nothingmuch hmm
nothingmuch is begining to be skeptical
about env
autrijus: backlog marker 00:11
i think envBody should be like the lexical env
containing the AST
but also outer, pos, lexical variables, etc
and the 'normal' env should be the dynamic scope only
anyway, goto was fixed 00:12
envPos was not carried over
svnbot6 r5381, nothingmuch++ | Fix goto borkedness - pos was not carried over from caller env 00:13
nothingmuch . o O ( we have more test cases than we've got revisions ) 00:14
putter any thoughts on how I can get from a Rational (ie, Ratio Integer) to a Double? there is fromRational, and then...? 00:19
nothingmuch putter: hoogle is your friend 00:20
mugwump ?eval $?PUGS_VERSION 00:21
evalbot6 \'Perl6 User\'s Golfing System, version 6.2.7, June 13, 2005 (r5381)'
nothingmuch fromRat, i would think
in Numeric
www-users.cs.york.ac.uk/~ndm/hoogle/
search for Rational Double
specificallly this: www-users.cs.york.ac.uk/~ndm/hoogle...romRat.htm 00:22
putter yay, it looks like this did it... ((fromRational r)::Double)
putter looks at hoogle...
nothingmuch ah, the inferencer doesn't know if you meant a double or float?
ah, :i Fractional says Double and Float are also instances of Fractional 00:23
so fromRat is silly
mugwump ?eval my $a = { <1 2 3 4 5 6> }; $a<1 ?? "foo" :: "bar"; #> 00:24
evalbot6 [undef, undef, undef, undef, undef, undef]
putter nothingmuch: yes, I think that was it.
mugwump ?eval my $a = { <1 2 3 4 5 6> }; $a < 1 ?? "foo" :: "bar"; #>
evalbot6 Error: cannot cast from VCode (MkCode {isMulti = False, subName = "<anon>", subType = SubBlock, subEnv = Just (MkEnv {envContext = CxtItem (mkType "(mkType "Scalar")"), envLValue = False, envLexical = MkPad (padToList [("$?1",[(<ref>,<ref>)]),("$_",[(<ref>,<ref>)]),("$a",[(<ref>,<ref>)]),("$code",[(<ref>,<ref>)]),("$lang",[(<ref>,<ref>)]),("%_",[(<ref>,<ref>)]),("&?BLOCK_EXIT",[(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,
putter hoogle should go in some doc somewhere...
nothingmuch anywho, i ought to sleep
USETHEM 00:25
;-)
putter :) 00:26
'night
nothingmuch is(("a\b" ~~ rx:P5/a\\b/ && $<>), "a\b", 're_tests 205/0 (239)', :todo<bug>); 00:27
that's not right, is it?
\b is bell or backspace (i forget) 00:28
and \\b is backslash b
Khisanth neither
\b is \w on one side and \W on the other
nothingmuch no, not in a regex, in a string
nothingmuch knows his zero-width-assertions
gotta love em
Khisanth bell is \a 00:29
nothingmuch right
hmm
in pugs saying "a\b" doesn't work at all
putter nothingmuch: how would you (one line) describe hoogle...?
nothingmuch putter: cross index of std haskell libs... searchable by type signature, name, etc 00:30
putter tnx 00:33
re "a\b", weird. hey, in perl6, let's not follow perl5's example of "you are trying to find \b in the man pages, wuaaaahahahaha". 00:38
svnbot6 r5382, putter++ | In hack.pod, added a link to hoogle. nothingmuch++
putter Oh. \b is backspace. that makes sense. 00:39
?eval ("a\b" ~~ rx:perl5/a\b/).chars 00:41
evalbot6 1
putter My fuzzy recollection is there is code to escape \mumble before handing it off to the rx engine. Perhaps \b isnt done. 00:42
Khisanth ?eval ("a\b" ~~ rx:perl5/a\x8/).chars
evalbot6 2
stevan Guten Abend mein Damen und Herren :) 00:44
mugwump wie gehts, mein freund? 00:45
stevan nadda mucho amigo
und du?
mugwump: I added the ability for things like 'Dog-0.0.1-cpan:JRANDOM'->new() to the metamodel today 00:46
mugwump das Spiel aufpassen, eine Bier essend
stevan but shortly after I was questioning that
(ok, we have reached the end of my German vocabulary, at this point, all I have left is curse words :) 00:47
mugwump Babelfish++
stevan :D
mugwump that's great. hey, I think that stuff I was trying to hardwire into the metamodel will actually be an interesting case of a module that alters the metamodel 00:49
ie, the "companion" relationships... like automatic doubly-linked lists
so, you'd go: 00:50
class Node { has @.children is double_linked(:to<parents>); has @.parents is double_linked(:to<children>) } 00:51
stevan how would that work exactly? 00:52
mugwump glad you asked :) 00:53
stevan I am not sure I understand the is double_linked
I mean I understand what you are doing (recursive datatypes), but...
mugwump so, double_linked would make the Node.children accessor a Proxy method via the MetaModel 00:56
The Proxy method would do set operations to determine "changed" values by an array operation
(ie, missing/new members)
Then send messages to those nodes that they need to add/remove $?SELF to/from their @.parents 00:57
stevan this is for some kind of Tree data structure? 00:58
mugwump they might be on different classes, too; 00:59
class Account { has Transaction @.transactions is double_linked(:to<account>) }; class Transaction { has Account $.account is double_linked(:to<transactions>) }
stevan ahh, I see 01:01
mugwump So, attribute accessors themselves have "messages" sent to them depending on the context they are used
ie, a "proxy" accessor is defined as; 01:02
method attribute is accessor( :STORE{ ... }, :FETCH{ ... } );
stevan nice 01:03
mugwump (see also t/oo/attributes/mutators.t)
stevan have you proposed that on p6l?
mugwump yes, Luke liked it
status is "tentatively not entirely disapproved of by all(@Larry)" 01:04
However, when you use a subscript operator on an attribute, it needs a different accessor quasi-method to be called; 01:05
$object.attribute<val> # :HASHLOOKUP ?
$object.attribute{"val"} # :HASHLOOKUP ?
$object.attribute[123] # :ARRAYLOOKUP ?
In Class::Tangram, I handle this with a calling convention for attributes considered "containers" - ref, set, array, hash 01:07
eg, you'd call $object.attribute("val"); to lookup - this would be an array or hash deref, depending on the type of "val" 01:08
For example, a property that is an ordered hash would respond to both styles of accessing 01:10
either that, or there is a general :OBJECTREF { ... } quasi-method, that returns a Proxy object which is responsible for responding to the post_circumfix:Ā«<>Ā», etc methods 01:14
See also search.cpan.org/dist/Class-Tangram/...ainers.pod for the rest of the information about the container calling convention stuff 01:17
stevan this is interesting 01:18
definitely not for the newbie :)
I do like the proxy idea though 01:19
mugwump proxy objects are specced already
stevan on a very very basic level, it seems like you are adding the ability to do more sophisticated accessor/mutators through the metamodel
yes, but proxy in the object space is less specced/thought out it seems 01:20
the Proxy stuff I have seen is all related to lvalues
mugwump sure. perhaps I'll have to write S14 to flesh this out
stevan but I have to run for now, I will check it out on p6l though 01:21
svnbot6 r5383, Stevan++ | Perl6::MetaModel - adding a test for some examples in A12; nothing much else :) 01:26
r5384, putter++ | * Moved sprintf and Scalar::as to Prelude.pm from Prim.hs. They now correctly handle variously typed arguments. Un-todo-ed 2 tests. Removed a bogus test. 01:47
r5385, mugwump++ | Add a few more tests to rounding tests, and make tests pass by adding to Prelude.pm 01:54
putter mugwump: I got floor and friends to typecheck. Waiting on a compile to see if they actually work. Does the Prelude.pm stuff obsolete the Prim.hs stuff? 01:59
autarch putter: I don't think so. Isn't it much slower if it's done in the prelude?
mugwump not these days 02:00
I'm ambivalent to which is used...
mugwump & # meeting
putter seems to work... hmm... &
autarch if prelude isn't slower, it makes sense to write in the prelude for accessibility 02:02
putter I'll put them in Pugs::Internals, and they can be used or moved as desired. 02:04
autrijus as of today, prelude isn't slower anymore; migrating composite primitives and new primitives to Prelude.pm makes a lots of sense. 02:08
svnbot6 r5386, autrijus++ | * add `is builtin`, `is primitive`, `is safe` etc to
r5386, autrijus++ | new prelude functions. also added Prelude authoring
r5386, autrijus++ | guide at the top of Prelude.pm -- please help save
r5386, autrijus++ | the world and make PIR generation possible again.
autrijus but please see the doc chunk in top of Prelude.pm, so we can keep PIR (and eventually P5) happy
I need to run to get my laptop repaired... bbl 02:12
will read the backlog on taxi... stevan++ putte++ mugwump++ geoffb++ gaal++ nothingmuch++ 02:13
svnbot6 r5387, putter++ | Finished haskell versions of floor,ceiling,round,truncate. mugwump++. Given the new r5385 Prelude.pm versions, I dropped them in Pugs::Internals. These two need to be syncronized with Emit/PIR.hs.
putter I just love pugs development... "I need to run to get my laptop repaired...[...] will read the backlog on taxi..." :) 02:15
a slight cautionary note on Prelude.pm... compiling Pugs.Run seems to be taking rather longer than it used to. perhaps unrelated. or my imagination. 02:18
mugwump 2min on my system 02:19
which is a fairly long debug cycle...
svnbot6 r5388, mugwump++ | Make otherwise condition a failure, not silently returning 0 ;) 02:37
putter Am I correct in my impression that, PIR aside, all prelude regressions are now fixed? 02:46
s/prelude/compiled prelude/
svnbot6 r5389, putter++ | Fixed failing t/oo/class/basic.t test. 03:11
putter Err, in Parser.hs, why is "class" handled by both ruleClassDeclaration and ruleModuleDeclaration? 03:12
attempting consolidation... 03:20
mugwump lols at "Please - listen to me. I'm an expert on IDS. I know whereof I speak." 03:29
putter err, which IDS? 03:39
autrijus rehi lambdacamels 03:49
putter: your impression agrees with mine.
I'm attempting to fix pir compilation now 03:50
putter ok. I'm testing a merged ruleModuleDeclaration. 03:59
Note to self: always have two projects going, so you can fiddle with one while the other compiles/tests. 04:00
svnbot6 r5390, Stevan++ | Perl6-MetaModel 04:10
r5390, Stevan++ | * adding support for "is ro" and "is rw" with regard to accessor/mutator generation
r5390, Stevan++ | NOTE: this does not affect the underlying container type of the attribute (not sure how that would be handled yet)
r5390, Stevan++ | * default is now 'ro' and not 'rw'
r5390, Stevan++ | * updated all the tests to reflect this new default
r5390, Stevan++ | * unified some the handling of meta-info for attributes
gaal_ morning 04:12
putter: Run.hs is slow to compile in the second pass now because it #includes the -CPugs output of the prelude
autrijus but that tradeoff is quite worth it 04:13
the only annoying thing is that it insist on rebuilding during "make ; make"
gaal_ autrijus: i noticed that `pugs -CPugs Test.pm` emits stuff for the prelude too. i understand why it does that of course, but i'm not sure that it should. 04:14
autrijus gaal_: it should not
gaal_: look, the thing is in userDefined
the problem is on genprelude 04:15
open my $pc, "$Config{pugs} -CPugs $Config{inline} |" or die "open: $!";
we want it to emit prelude code
whilst in all other cases
we do not.
gaal_ autrijus, re `make;make` yes indeed, but unless we break #include "PreludePC" into separate .hs modules that'd be hard to fix
autrijus so try to think something :)
maybe setting a special env during gengprelude
and activate bypass if -C and without that env? 04:16
am I making any sense to you?
gaal_ yes, i understand this problem.
and your proposale
s/e$//
originally i wanted to add an undocumented comdline arg
since that would also allow us to avoid the hacky haskell munger filter 04:17
ie have another function in Pugs.Compile.Pugs that doesn't say MainCC etc. 04:19
excuse the typos this espresso is only 30% drunk
04:20 gaal_ is now known as gaal
gaal i was about to say that we can use kwid now in Prelude but i see you beat me to it. :) 04:22
we should invent a trait for the prelude: is pure. it doesn't do anything (maybe it should be a documentation convention instead of a trait) -- except indicate that this builtin is implemented completely in the prelude. that way it'll be easier to separate pugs-specific implementation from things that should work in another implementation. this is.. not very urgent. :) 04:25
shouldn't the new Num:: functions go in a class instead of being declared fully-qualified? 04:27
autrijus yeah 04:35
please go ahead
ingy hola 04:37
putter notices the phrase "make;make" went by... if "unoptimized" gets lost in the process, the compile time on Pugs.Run would be unsurprising...
autarch hi, ingy 04:39
mugwump gaal: the reason I did that, is that I had invocant count mismatch problems with: class Num { method floor { } }
gaal putter no, the second pass Run is very long -- see PreludePC.hs 04:40
mugwump - okay, i'll not ci now
ingy autarch: hey, what you doing here?
mugwump well, if you can get it to pass be my guest gaal ;)
gaal have to leave for $work - have at it
:) 04:41
see you later. &
mugwump waves
putter gaal: ah well. &
autarch autarch: uh, talking about perl6, mostly
and pugs
putter dev cycle is now 5+ minutes. :( 04:42
ingy converting DateTime?
autarch yeah
not so much converting as rewriting, really
ingy sounds like a barrel of fun
putter hi, ingy 04:43
ingy fyi I think I have a totally workable wysiwyg solution for work
hi putter
how's the life of pugs?
putter: I'm thinking of rewriting Inline for Perl5 04:44
are you still on that mailing list?>
mugwump hey does anyone know if there has been a Ruling on tuple return types? eg sub divmod(Num, Num) returns (Int, Num) ? 04:50
putter ingy: having a number of smaller classes could be neat 04:52
ingy: not on mailing-list, I don't think. 05:03
weary sigh. Is there some way to say "dont precompile the prelude"? 05:05
mugwump feels putter's pain
putter is having flashbacks of using punchcards 05:07
mugwump suggests changing the Prelude.pm to a stub that loads the real Prelude.pm at runtime for Prelude hacking 05:08
putter good idea. tnx. almost time to put brain to bed. 05:11
chromatic Is it preflight time? 05:16
autrijus chromatic: no, not yet, I'm still fixing PIR 05:20
svnbot6 r5391, autrijus++ | * zeroth proofreading of ChangeLog
r5392, autrijus++ | * minor textual fix to hack.pod
r5393, autrijus++ | * rename "translate" to "codegen"
putter perhaps not quite. -BPIR is broken. plus I fuzzily remember there were some other regressions
chromatic Test::Builder has one weird one related to functions with the same name in different packages. 05:21
autrijus both exported? 05:25
svnbot6 r5394, autrijus++ | * in gen_prelude, use IPC::Open2 to avoid the dreaded whitespace bug.
chromatic No, I don't believe so. 05:26
autrijus ok. which test is this?
chromatic t/010_Test_Builder.t in ext/Test-Builder/
Test exports plan, which the file uses, but the error message is of a parameter mismatch with Test::Builder::plan. 05:27
autrijus ext/Test-Builder/lib/Test/Builder.pm: sub plan (Str ?$explanation, Int ?$tests) is export {
well.
chromatic Weird, where'd that come from?
Wait, that's in the POD. 05:28
autrijus oh.
chromatic Can't fool me... for long!
autrijus that is weirdo indeed. 05:30
chromatic Is there some namespace switching not happening?
Or did the export trait parsing change recently?
autrijus no the export thing should work fine
$?PACKAGE says we're in main
so curiouser and curiouser
if you import TBP and not Test then it fails to find &plan 05:31
which is correct
chromatic I just switched the order of the use statements to put use Test last and it worked for a while.
autrijus define `for a while`
chromatic Now it fails to find open().
On line 46.
autrijus hm. very weird. ok, i'll color it as a showstopper, but I need to work on pir first 05:32
if you'd like to minimise it I'd be much grateful
chromatic It's a showstopper for claiming full OO support, but so is the DESTROY thing still open. I don't mind if it doesn't block the next release.
autrijus full OO support is for 6.28.0 and pends on metamodel incl. roles 05:35
putter I should have a slight oo improvement in as soon as a make test finishes.
chromatic Alright, alright, I'll break stevan's stuff for a while then. 05:36
autrijus cool. I need to run for $work, bbiab 05:37
putter patch in. goodnight all. & 05:47
svnbot6 r5395, qtplatypus++ | Implementing trans
r5396, putter++ | Improved parsing of packages (modules, classes, etc). Some tests need to be un-todo-ed.
gaal anyone else getting this error? : 17:12
Error: No compatible subroutine found: "&Test::test_ends"
svnbot6 r5435, fglock++ | implemented DateTime::Span
gaal when using prove
nothingmuch gaal: i need a new ISP.. got any reccomendations, for cheapo business accts?
static IP a must
dhcp a plus
gaal nothinmuch, i like actcom, but well...
you know that
nothingmuch they never replied to my inquiries
i tried to get a price quote 3 times
i'll try again
gaal 1-800-300-123x1 17:13
nothingmuch i'm getting sick of NV
the connection drops all the time
gaal actually x3, you need customer service
NV used to be great, but then they went the way of the corporate.
nothingmuch the problem is that i'm right in the middle
i'm a coporate client, supposedly
but I'm not big money
i get supposedly better service 17:14
but I get the butt end of that market share
so I actually get the worst service of all
while all I really wanted was reliability.
gaal i'd try actcom. really, they are very clueful and nice. not the cheapest but not cutthroats either.
plus: haggle. 17:15
nothingmuch i used to be with them
yeah
ook
gaal so, you're not getting that error?
nothingmuch wait, lemme backlog
no
but autrijus played with END a while ago
my pugs might be out of date
i've been trying to hack MMD mishmash 17:16
make DateTime pass it's test suite
the sort order of variadic arguments is bad
gaal how much does a medium sized whiteboard cost? i want one for the hackathon 17:17
nothingmuch i'd say 100-200NIS
i'll chip in
gaal i'll see if i can borrow one from work :)
nothingmuch www.officedepot.co.il/(jthxkk204a1a...UBCATEGORY 17:18
gaal since i don't need it afterwards.
nothingmuch 60x80cm is 120 NIS 17:19
wait, there's one at 880
80
these are cheap and big: www.officedepot.co.il/(jthxkk204a1a...?id=592014
gaal i don't want to buy one and throw it away. i'm in an anti-consumerism streak. 17:20
nothingmuch i'll find a use for it
i could use one
i have two in my cube at work
i could bring them too
but they're pretty small
gaal i have a small one. it's funny, i asked for "a small one" and a few days later something A3-sized showed up. 17:21
nothingmuch is a3 small?
oh right, it is
gaal kinda. twice A4.
nothingmuch that's very small
Khisanth gaal: just get a can of white paint :)
and a brush of course
nothingmuch Khisanth: then you need to wait every time 17:22
gaal indeed. if everyone were that literal all the time we could do business.
Khisanth not if you get the right paint :p
gaal (please echo >> things you think i should prepare for a hackathon) & 17:23
nothingmuch food
wifi hub
(i can bring one)
gaal gabor is bringing one, plus a spare laptop 17:24
though i don't know how long he's staying
nothingmuch ah, gabor is coming too?>
that's great 17:25
beer
coffee
gaal i always have those things :)
nothingmuch =)
Khisanth hrm drunken coding 17:26
gaal i'm getting a hammock but i'm not sure i have a place to hang it up.
nothingmuch Khisanth: no, beer is energizing
damn, my fix didn't change anything at all
gaal beer + summer in tel-aviv == lazy
Khisanth I would like to see you try that on the cop that pulls you over for drunk driving :)
nothingmuch Khisanth: one beer is legal 17:27
plus energizing does not mean "increases motoric skills"
it peps me up.
i can have 3-4 before i start being drowsy, and then I code badly
gaal nm, i'm not sure there isn't also a blood level measure, in which case small folk may not be ok with one beer.
nothingmuch gaal: i'm not really a small folk 17:28
svnbot6 r5436, gaal++ | move Num subs to their own class
r5437, fglock++ | added Date::Span class
nothingmuch i look smaller than I am
nothingmuch probably weighs more than gaal
gaal brain the size of a planet...
nothingmuch but nevermind, i don't drive when drunk
autrijus: when you wake up, i have a weird patch I'd like to discuss... not committing 17:29
i'm off to get food
gaal um, something wrong with namespaces again. all the rounders are not 'is builtin', but the test for them manages to call them without qualification. 17:31
nothingmuch eek 17:32
gaal ?eval class F { sub fff {say "hi"} } fff
?eval class F { sub fff { "hi"} } fff
oh, not evalbot. darn.
but that says hi :( 17:33
nothingmuch: the test consolidation service should also store historical data and ideally allow some diffage.
nothingmuch gaal: yeah 17:34
there's a repo of results
i think they should be submitted with HTTP post
and arbitrary differ
gaal the database will get big, but it's a great tool.
nothingmuch like 'consolidate x and y and z'
i don't mind big, i have GB to spare
gaal i told juerd i'd love to see it hosted on feather
nothingmuch i'll hack it in catalyst next weekend 17:35
gaal noooo let's do it in p6!
nothingmuch too slow.
this is heavy data munging
we need it responsive
nothingmuch thinks p6 is not ready for writing the tools yet
since the tools need to deal with special cases, and they need to be fast
and with the workaroundish nature of pugs around weird corner cases, i think we won't get very far 17:36
gaal special cases? i dunno, i think on the language level pugs prolly has what we need for this, no?
nothingmuch i don't know
gaal speed, yeah, is a problem.
nothingmuch these are hug structures... that's the main problem 17:37
gaal anyway, food
nothingmuch and they need to be walked in <1s
yeah, me too
gaal do everything in sqlite :)
svnbot6 r5438, fglock++ | fixes 'density' parameter 17:51
gaal autrijus: regarding r5363, i didn't need to unlink the files - touching them workedforme. what's different with our setups? 17:56
eeeep! /me ls -l's and looks at the size of PreludePC.hs and other -CPugs outputs 18:01
unspecced perl5 behavior: 18:11
perl -le '$x = require Carp; $y = require Carp; print $x; print $y'
$x is what do "Carp.pm" evaluates to, which happens to be 1. 18:12
guess what $y is :-)
answer: 1, apparently always.
regardless of $x, as long , of course, the first require was successful. 18:13
rafl_ gaal: Well, why is that unexpected? if (exists $INC{$filename}) { return 1 if $INC{$filename}; ... }
gaal where are you taking that code from?
oh, perlfunc does have it. interesting. 18:14
well, i wonder what p6 should do.
in the case of most class .pms, it's nice to return either the name of the class or a Class for $x: shouldn't $y be equal to $x in that case? 18:16
rafl_ gaal: It's from perldoc -f require
gaal but in that case they probably have to be weak references in %*INC 18:17
rafl_: thanks - saw it after you pointed out the code.
but that means %*INC can no longer be a simple (name => path-or-hook) hash 18:18
Limbic_Region salutations fibonaci 18:19
nice handle
fibonaci oh 18:21
18:21 fibonaci is now known as luqui
luqui thanks 18:21
Limbic_Region heh
Limbic_Region had no idea
luqui When I was obsessed with breaking into the school computers, one of my logins was fibonazi 18:22
nothingmuch luqui: ping
luqui ping me and then leave, eh? 18:23
nothingmuch back
Limbic_Region wonders how old luqui is
nothingmuch Limbic_Region: around my age ;-)
stevan Limbic_Region: emotionally or physically :P
nothingmuch luqui: i wanted to discuss pil->p5
Limbic_Region when I was breaking into my school's computers - I didn't have a login - I used the teachers accounts
luqui ahh yes that old thing
my hard drive died... again 18:24
nothingmuch oh crap
i hate when HDs die
stevan luqui: that is no excuse
nothingmuch it's the worst kind of death
stevan you still have your punchcards
luqui heh
nothingmuch Limbic_Region: now make a guess
Limbic_Region circa 20 18:25
stevan BINGO!
luqui well, we're only approximately exactly 20
Limbic_Region in my case - I had a guidance councelor who didn't believe I could break in and in the other case a principal that was hoping I could since he had gotten locked out 18:26
luqui y tu limbic?
Limbic_Region venty-ocho
so I had permission ;-)
luqui that's no fun
Limbic_Region is celebrating his 3 year anniversary with Perl today as a matter of fact
luqui cool 18:27
That's about how long I've been using perl too
... no, I guess it's more like 5 years
wow
time flies when you're programming perl
Limbic_Region yep
nothingmuch perl or perlmonks?
Limbic_Region both 18:28
got my account same day as I discovered Perl
nothingmuch i'm nearing my 3 year perlmonks ann
Limbic_Region well - that's not entirely true - I knew about Perl from afar but that's the day I decided to learn about it
nothingmuch but it's more like 3.5 of perl
Limbic_Region there has been no single thing that has consumed more of my time, thought, and energy 18:29
luqui and yet, only three years
Limbic_Region err - in the same ratio I mean 18:30
Limbic_Region is sure he has spent more time masturbating then hacking perl but not in that time window
luqui haha 18:31
Limbic_Region oh - this channel is logged isn't it
nothingmuch if only you'd have known perl in your youth?
you prefix messages with [off]
luqui vim masturbate.pl
Limbic_Region nothingmuch - I wouldn't have such hairy knuckles
nothingmuch what do you get when you play with fire?
Limbic_Region in any case - I said thanks at the Monastery - but let me say thanks again here
here's hoping p6 consumes more of my time in the next 3 years than p5 did in the previous 18:32
nothingmuch call me dumb, but I hope it takes up less time, with more yield 18:33
Limbic_Region ok - you're dumb
Limbic_Region was looking at it from the perspective of having that much free time in the next 3 years 18:34
luqui I hope it takes more time, with a greater yield ratio
Limbic_Region I was single for 2 of those 3 years
luqui the former or latter two?
Limbic_Region the former 18:35
luqui oh...
you better dump whoever it is
nothingmuch luqui: too late for him now
Limbic_Region heh - my wife probably would have to take issue with that
luqui dump, divorce, same difference
nothingmuch wants to learn rubenstein's revenge 18:36
luqui ?
Limbic_Region perlbot google "rubenstein's revenge"
grrr - that feature must have got lost when the HD got dismantled 18:37
luqui oh, it's a juggling thingy?
nothingmuch yep
luqui nothingmuch juggles?
nothingmuch some 18:38
Limbic_Region juggles too but only the very basics
luqui was almost convinced after that yapc presentation
gaal nothingmuch: bring juggling balls to hackathon plz
Limbic_Region I ran a 10K race once with a guy who juggled the whole race
nothingmuch gaal: we have millions at work
Limbic_Region: i once walked 10k 18:39
nobody was juggling, but I made it
gaal lol
luqui I once thought about walking 10k
but I didn't have a laptop at the time, so it was out of the question
;-) 18:40
nothingmuch addict
gaal rows five miles when not sucking
luqui uh
is there a way to retroactively [off] a comment?
nothingmuch what comment?
luqui gaal's 18:41
:-)
gaal i think the channel logger is down anyway.
nothingmuch ah
nothingmuch bikes 20KM when there's enough daylight
gaal actually, it's back up. what do you know.
"Parse error in pattern" is a terrible error message. 18:44
Limbic_Region gaal - no 0x1 is a terrible error message 18:45
gaal i like haskell better than i like make, so my expectations are higher.
Limbic_Region *shrug* - I need to take a crash course in brain surgery err um p6 OO 18:46
gaal l~r: you should try examples/obfu/l33t.p6
that has useful error messages.
luqui is teaching one of those... 18:48
luqui just isn't sure when
svnbot6 r5439, fglock++ | added 'density' accessor 19:08
luqui ooh 19:16
Larry's latest message on p6l is... 19:17
brain-exploding
or at least tangling
geoffb link? 19:18
luqui www.nntp.perl.org/group/perl.perl6....uage/22220 19:19
geoffb thx
pdcawley thought that Smalltalk rather neatly dodged the infinite Class/Meta/MetaMeta/MetaMetaMeta/... regress rather neatly. 19:21
svnbot6 r5440, fglock++ | 'density' fixes
r5441, iblech++ | * Added a new test for "class MyValueType is value {...}": t/oo/value_types.t
r5441, iblech++ | * Usual svn props.
pdcawley s/rather neatly//
either will do.
luqui how did it do it?
pdcawley Feck! You don't expect me to remember do you?
luqui well, you said rather neatly 19:22
... twice
pdcawley But MetaClass isa Class...
luqui so I just ass-u-me-d
pdcawley I remember reading the purple book and thinking "that makes sense" and then forgetting about it. 19:23
luqui heh
pdcawley I think it was the purple book anyway.
luqui might be interested in learning some smalltalk
then again...
luqui doesn't really care about metamodels all that much
pdcawley If I remember rightly, the responsibilities worked out that the class was responsible for holding the instance methods, and the metaclass was responsible for holding the class methods.
integral hmm, what's the haskell equiv for join(", ", @list) ? 19:24
pdcawley Hang on, I'll fire up a Squeak image and have a look.
luqui wishes he knew
integral hmm, the tour of the prelude implements unwords in terms on foldr1 + some addSpace func 19:26
pdcawley MetaClass isa ClassDescription isa Behaviour isa Object 19:27
Class isa ClassDescription
nothingmuch stevan says: smalltalk metamodel is teh suxx0r 19:28
pdcawley Okay. And the roxxor would be? 19:29
luqui Perl6::Metamodel? :-) 19:33
pdcawley Heh.
luqui Well, Perl5's metamodel is pretty damn good 19:34
for not existing
it's just the attribute thing that needs work
rafl_ I know that I asked this question already several times, but I didn't get an answer: Why are the p5 parts of pugs installed as source package (including Makefile.PL, MANIFEST, t/, etc.)? 19:37
luqui you mean when you do make install? 19:38
svnbot6 r5442, iblech++ | t/oo/inheritance.t -- Added tests, stolen from Larry.
r5443, iblech++ | * Pugs.Parser -- Made "my Foo $foo .= new(...)" parse and work. 19:40
r5443, iblech++ | * t/oo/construction.t -- Added a test for that.
luqui heads home 19:42
svnbot6 r5444, bsmith++ | * Moved version variables from Pugs.Help to Pugs.Version. 19:51
r5444, bsmith++ | * Pugs.Help now import Pugs.CodeGen so that it can produce a correct list of
r5444, bsmith++ | backends in the -h message.
r5444, bsmith++ | * Fixed script/pugscc to use the Ghc backend rather than the Haskell backend
r5444, bsmith++ | for --haskell and --ghc.
r5445, iblech++ | util/gen_prelude.pl -- Fixed Haddock-confusing comment. 20:03
rafl_ integral: Maybe you can answer my question? 20:09
integral hmm, perhaps 20:12
what do you mean by "installed as source package"?
rafl? 20:13
rafl_ integral: Things like /usr/share/perl5/Code-Perl/Makefile.PL get installed. 20:14
svnbot6 r5446, putter++ | Commented out (failing) test. $larry yesterday said Foo.isa(Class) is false.
r5447, iblech++ | Pugs.Help -- Minor cosmetical fix: Added ''s around the "while" thing
r5447, iblech++ | (consistency: There're ''s around "use module", too) and fixed a typo.
integral rafl_: ah, that sounds very much a bug :-)
rafl_ integral: Can you reproduce it? 20:15
integral It should be recursing into the Code-Perl package and running that Makefile's install
I don't install pugs... and I'm scared of makemaker... this really isn't my area
rafl_ integral: You can do make install DESTDIR=/tmp/foo or something. So you can remove it quite easily. 20:16
integral sure, but there's bugs in the install process ;-)
Aankhen`` I'm getting $INSTDIR/lib/Code-Perl/Makefile.PL
Did you install under /usr/share/perl5/?
integral will do a quick build before poking 20:17
rafl_ I run perl Makefile.PL INSTALLDIRS=vendor. That should put the p5 stuff into /usr/{lib,share}/perl5/
I'll be right back. 20:18
Aankhen`` OK.
afields Working on my Perl 6 sets pod 20:19
Aankhen`` Hmm. 20:20
afields What's a good block of available punctuation, can { } be overloaded anymore?
Aankhen`` Basically, everything from lib/ appears to be copied to /usr/{lib,share}/perl5/ or whatever.
rafl_ Aankhen``: So that's seriously broken, isn't it? 20:22
Aankhen`` nods.
Aankhen`` thinks. 20:23
rafl_ Will you fix it?
Aankhen`` Isn't lib/* copied by default in a regular distribution?
I am not really sure how to fix it.
integral the .pm files should get copied into blib first, and then the blib installed
rafl_ OK, so I'll give a try in about an hour. 20:24
Aankhen`` lib/* appears to be copied wholesale to blib/. 20:26
blib/lib/, actually.
afields Which is most likely to please Perl 6 authors: a) {.} {..} b) (.) (..) c) <.> <..> or d) none of the above; for Perl 6 grammar (To mark set bounds/intervals/continuences)? 20:28
Aankhen`` I think d)... 20:29
svnbot6 r5448, fglock++ | implemented more methods in Set::Infinite
r5449, fglock++ | docs update
afields Aankhen``: How are sets approached from a Perl 6 perspective?
Aankhen`` The options you listed are very basic symbols; redefining their meanings would be quite catastrophic... :-\
Hmm... if you have a copy of the Pugs source handy, you could take a look at ext/Set/lib/Set.pm. 20:30
(or svn.perl.org/perl6/pugs/trunk/ext/S...ib/Set.pm) 20:31
afields i"m thinking it might be advantageous to place meta-data about arrays (sets) at any given level of a multi-level structure
Aankhen`` my $set = set 23, 42, $some_object;
afields so should that be done with more syntax or a more procedural manner working on set objects 20:32
Aankhen`` I suggest looking at the work already done first -- it might help you decide. 20:33
afields OK
I'm planning on looking at pugs
just haven't got arround to reading all the source et
Aankhen`` You don't need to look at the Pugs source 20:34
.
I am referring to the `Set` module in Perl 6, which is shipped with Pugs.
The Perl 6 `Set` module, even. :-P
afields OK, so is this not going to somehow make it into base language 20:35
sets are just a special case type of an array?
Aankhen`` I dunno about that, I haven't looked at the implementation as such.
afields reason I ask is what if you want to deal with a very large set which can be partially specified ( 1 2 3 <..> 65535 ) for instance 20:36
dudley is whitespace significant between a sub name and the opening paren of its parameter list? 20:40
i.e. is:
sub foo ($bar) {...}
equivalent to 20:41
sub foo($bar) {...}
Aankhen`` Yes. 20:43
Khisanth afields: more like hashes than arrays 20:48
afields my @a = ( [1,2,<..>10], [3,4,<..>,7], { a => [9,10], b => [-$a,<..>$a] } ); 20:50
my @set rather
Aankhen`` rafl_ >> You could try something like this in Makefile.PL: `libs(map fixpaths($_), grep { -f "$_/Makefile.PL" && not -l "$_/Makefile.PL" } glob("lib/*"));`.
That'd miss out `pugs.pm` and `pugs.pod`, I think, but it's a start. :-)
Anyway. 20:51
Aankhen`` goes to sleep.
G'night.
afields the idea is not to actually store numbers between -$a and $a, but simply to store the meta-data of the set that the range of values will return numbers between the two bounds of the interval 20:52
and to do this using regular arrays
I cover this in section: Storage vs. Usage
fglock afields: see also the 'Span' class
afields fglock: you are doing set work I see?
fglock afields: yes 20:53
afields fglock: how much is done on things like continuances and incompletely specified sets, infinite sets?
fglock that's Set::Infinite - it will handle those 20:55
Khisanth there is a Set::Infinite isn't there? :)
afields so each of these is a class which returns basically a blessed array?
fglock afields: no, it returns an iterator 20:56
Khisanth you aren't suppose to care about implementation :p
afields Khisanth: well I might have to because I want to see the regex engine talk objects
and sets
nothingmuch moose!
fglock it should return a Lazy List, but I think these are not fully implemented yet
sili that sounds like fun 20:57
afields can't we do this in the base language, please?
not the grungy stuff
Khisanth hmm both pp.h and chardefs.h has RETURN ... I don't think this will work out well
afields just the primitives of set operations
nothingmuch wonders if you're allowed to talk back to schwern about quality stuff
talk back == disagree
geoffb give 'im hell, nothingmuch 20:59
fglock afields: the base language handles 1 .. 10, but it has some problems with 1 .. Inf
geoffb dammit, why does ambiguous tab completion ALWAYS choose the wrong one?
afields fglock: exactly, why even both dealing with infinity until it is actually used
why even store 1..10 21:00
nothingmuch heh
afields store 1, to, 10 ;)
fglock afields: that's how it works, actually 21:01
but the API makes it look like a list
afields fglock: ok, so then can I do 1 .. 10 in Perl 6 or 32 .. Inf and then find the compliment of the two arrays? 21:02
stevan nothingmuch: I didnt say the smalltalk metamodel sucked
fglock yes - you can do that using the Span module already
nothingmuch stevan: yes you did ;-)
stevan I said it was more complex then it needed to be
nothingmuch ah
stevan in a drunken fit maybe
but not when I was sober 21:03
nothingmuch i parse that as "sucked badly"
stevan nah
nothingmuch even if you said that verbatim
i don't like complexity in something so atomic
stevan just more "academic" then "practical"
nothingmuch an ideal metamodel is very practical because it's so academic it's perfect
stevan the perfect metamodel: available in proof form only 21:04
afields fglock: ok, that's good, but why not just make arrays that 2 bytes smarter to do it there instead of delegating it to a special class? I mean arguably you could omit the combinatoric logic in the base language and implement that as a module as long as arrays could better represent edge-case sets
nothingmuch goes to have a cigarette
Khisanth shoots nothingmuch
nothingmuch Khisanth: eh? 21:05
stevan throws luqui inbetween nothingmuch and bullet
Khisanth luqui is bulletproof?
stevan we shall soon find out 21:06
nothingmuch just a little bit longer
stevan bah, he is off channel,... even worse
fglock afields: I think the language will be able to handle that, once everything is in place. Actually, it may end up using a module transparently (I guess that's what "Prelude" is for) 21:07
nothingmuch Khisanth: are you going to explain or can I go?
afields fglock: so are you interested in more wacky suggestions on what would be nice to see for Perl 6 and sets?
I like the fact that Unicode operators will work 21:08
fglock sure - please mail me [email@hidden.address] - I've got to leave now :( 21:09
afields ok, thanks, good timing =)
svnbot6 r5450, bsmith++ | util/importgraph.pl - colourise nodes by import/export lists and 'qualified'
r5450, bsmith++ | src/Pugs/Bind.hs - added export list
Khisanth nothingmuch: just the smoking :) 21:14
svnbot6 r5451, putter++ | Commented out the envID field of Env. With it, my $x = sub{}; $x =:= $x was false, due to a single (prune-able?) mismatch. 21:18
nothingmuch Khisanth: you can forgive me, I don't do it often 21:19
svnbot6 r5452, putter++ | "Fixed" t/var/symbolic_deref.t. Replaced a random tested function with another currently working. And temporarily replaced =:= with ~~, as =:= on subs is still broken. 21:35
r5453, putter++ | Added failing tests for =:= on subs.
nothingmuch is anyone here familiar with pugs' current MMD dispatching? 21:44
geoffb OK, WTF?!? 21:47
pugs> my $i; while ++$i < 2 {next; say "Saw $i"}
Saw 2
nothingmuch ooh
geoffb Ah, I see the blind spot -- it looks like all tests for next use a for loop 21:51
svnbot6 r5454, putter++ | Added "&main::" where needed in caller.t.
nothingmuch geoffb: want to try to pair through it? 21:55
geoffb Sure, what did you have in mind?
nothingmuch do you know how Eval.hs applies loops? 21:56
since every block is a closure it's really just repeated calls on the block
each call get's a new dynamic scope
geoffb OK
nothingmuch with the next subroutine containing a closure that escapes
(same applies for return, redo, etc) 21:57
svnbot6 r5455, putter++ | examples.t reverse.p6 was failing because an output line was added, without updating the tested output/ file.
nothingmuch line 444
geoffb LOL 21:58
nothingmuch LOL?
geoffb "probably needs work".
Uh, yeah, definitely
nothingmuch heh =)
okay 22:00
cond is evaluated in Bool context
vb is a cast from perl6's val that is a bool, into a boolean
(haskell boolean) 22:01
f is the transformer (id for while, not for until)
if (f vb) is true, we reapply, otherwise we return the result of the conditional (always false)
i forget the details of fix, but it builds and env 22:02
geoffb doing too much window switching . . . rearranging windows . . . better
nothingmuch next isn't even generated... that's our problem =) 22:03
geoffb OK, so it basically comes down to transferring some magic from the block starting at 368 (for) and/or 400 (loop) 22:04
nothingmuch yeah, pretty much.
i think while is simpler though. 22:05
geoffb doing his best to keep up with several people talking to me at once
nothingmuch since there is no iterator to skip - just redo the loop, but with the conditional
geoffb yay, others have gone AFK, now back to trying to grok the code
nothingmuch heh 22:06
okay, i think i've got it 22:10
i just have to remove a bajillion traces
i was debugging MMD =(
geoffb Oy. 22:14
Either A) I'm not ready for this, or B) the different looping constructs have arbitrary differences that needn't be there, or C) both. 22:15
Right now I'm leaning towards A or C.
nothingmuch hmm
actually the loop application code is pretty tight
for, loop and while are very different =) 22:16
geoffb Well, for example -- what is the diff. between genSymCC and genSymPrim?
nothingmuch genSymPrim takes a function, and makes a Prim out of it, and creates a symbol around that (a sub)
genSymCC does - i dunno
let's see?
geoffb I mean, my auto-acronym-expander thinks CC is "caller continuation", but . . . 22:17
OK
nothingmuch hmm
yeah, i think I see
aha! 22:21
enterWhile is in Monads.hs
it defines next
and last
hmm. 22:22
pasteling "nothingmuch" at 212.143.91.217 pasted "some traces of geoffb's while bug" (8 lines, 168B) at sial.org/pbot/11694 22:23
nothingmuch there's our bug 22:24
after next is invoked
the execution continues
in fact, next recurses into the while loop
let's try to make it worse:
pasteling "nothingmuch" at 212.143.91.217 pasted "just like I pictured it" (10 lines, 217B) at sial.org/pbot/11695 22:25
nothingmuch =D
geoffb yep, there you go.
What do you do to get those traces? 22:26
Or did you just instrument the code?
pasteling "nothingmuch" at 212.143.91.217 pasted "code with traces" (12 lines, 593B) at sial.org/pbot/11696
nothingmuch okay, we want to implement next with genSymCC 22:27
but with a catch - it just restarts the whole while loop sequence
without losing the env
geoffb nod 22:28
nothingmuch okay, let's have a crack at it
geoffb OK, let me just see if I understand here: 22:29
redo needs to recurse, so that should use genSymPrim. last and next do not, so they need genSymCC.
Am I following correctly?
nothingmuch actually I think redo is also broken 22:31
it needs to abort the current block
they are all like goto
geoffb OK, granted I don't know Haskell all that well (I'm basically reading it like an Italian reading Spanish), but it looks like the redo concept is "tail-recurse the loop block" 22:32
nothingmuch it is 22:33
and next is the same
except it tail recurses the conditional and the body
and last is just go back to your caller
geoffb nodnod
nothingmuch ook, the right man for the job just left =( 22:35
geoffb bleah
cognominal The 'Autrijus' method does not exist in the 'inc' path! # Autrijus manages even to mess perl5 :) 22:36
nothingmuch i hope autrijus wakes up soon
chromatic Is Pugs.Embed.Parrot a deprecated module?
nothingmuch cognominal: ?
cognominal I got this message when trhing to install PAR with GnuPG support 22:37
no big deal
putter #haskell 22:38
nothingmuch #haskell!
geoffb OK, may have to add another channel to the tabs. Is the proper #haskell on freenode, or some other net? 22:39
nothingmuch freenode
putter oops:/ 22:41
nothingmuch putter: have you got cont fu?
chromatic Ahh, it's src/Pugs/Embed/Parrot.hsc 22:42
pasteling "chromatic" at 63.105.17.30 pasted "Dump PIR Output from Embedded Parrot (maybe more valuable in codegen; still somewhat valuable)" (31 lines, 1.1K) at sial.org/pbot/11698 22:45
geoffb OK, nm, I need a mental break, and it sounds like you've hit a wall too -- nothingmuch++ for diagnosis -- so I'm going AFK for a few. When I get back, I will roll a virtual die and either: 1) learn more haskell, 2) write tests for this bug, 3) work around and get more Perl 6 porting done, 4) take the night off and snack on Aussie Bites. :-) 22:51
nothingmuch tests tests tests
mui good
i'm sort of watching tv (i'm a sucker for anthropology shows) so i'm losing concentration 22:52
but I'll try to figure out how you can make a continuation that *isn't* caller CC
geoffb
.oO( Aussie Bites! Now made from real Australians! )
(y)
nothingmuch reminds me of a nice calvin & hobbes 22:53
geoffb There are bad C&B?
nothingmuch "Mom, are hambuger's made out of people from hamburg?"
geoffb :-)
nothingmuch "No calvin, don't be gross"
"it's ground beef"
"you mean i'm eating a cow?!"
"i don't think I can finish this"
geoffb LOL
nothingmuch ofcourse, in the first cell he is full of apetite
and in the last one he looks like in one of the oatmeal scenes 22:54
geoffb :-)_
My dad tells me that when he saw the C&B where Calvin's on the bus imagining piloting a bomber and bombing the frack out of his school, Dad thought "Wow, I've had EXACTLY the same daydream." 22:55
nothingmuch heh
i like the dinosaur ones the best
geoffb My fav have to be the snowman grotesques
nothingmuch oh, they're wonderful 22:56
geoffb OK, really AFK now
nothingmuch ciao!
nothingmuch makes a wild guess 23:17
nothingmuch smiles 23:20
putter nothingmuch: re cont fu, mediocre. something in particular? 23:21
nothingmuch &next is broken in while
but i've improvised a fix
genSymPrim "&next" (const $ action >>= \res -> esc res) $ \symNext -> do
-- genSymPrim "&next" (const action) $ \symNext -> do
commented is old
it would call the next iteration of the while, complete it 23:22
and then go back and resume the statement after the call to next
err, prepend that with callCC $ \esc -> do
putter looking... 23:27
nothingmuch altering monads takes so long to recompile 23:31
mugwump__ yeah, they have to go through customs 23:32
mugwump__ hmms at his nick
nothingmuch mugwump__: ? 23:33
what customs do you speak of?
mugwump__ you know, security checks and getting frisked down. make sure they're not terrorists.
nothingmuch who has to go through customs? 23:34
mugwump__ the monads
nothingmuch ah
well, yes, no one understands them, they raise suspicion
mugwump__ how else can ghc be sure they have no side effects?
nothingmuch arrows, OTOH, are even less understood, and they look pointy
putter eeep. three implementations of next/last/redo in two files. lossage is to be expected. are the semantics such that we could rip out all three and replace them with something clean? 23:35
23:35 mugwump__ is now known as mugwump
nothingmuch putter: no 23:35
putter :(
nothingmuch they are different for every type of loop
they're pretty dense 23:36
so I don't think it's bad
well, supposedly yes
stevan nothingmuch: *cough* 23:42
svnbot6 r5456, nothingmuch++ | Fix geoffb++'s next in while bug... next is now implemented with
r5456, nothingmuch++ | continuations. redo is still needed, as are tests.
nothingmuch shutup, i'm watching TY
TV
stevan the opiate of the masses
nothingmuch there's a documentary on the metamorphisis of islamic states in the 20th century
mugwump the drug of a nation
stevan you brain will leak out your ears
nothingmuch i don't know enough about that
and i'm doing haskell at the same time 23:43
stevan nothingmuch: how can you not, they are your neighbors
nothingmuch stevan: they don't teach us about anybody but the jews in history
mugwump cues "Couch Potato" by Weird Al Yankovic
nothingmuch or the people who did crap to the jews
stevan and muslims are not included in that??
nothingmuch well, it's only the crap they did
geoffb gets BAK to see nothingmuch has fixed my bug -- thanks, nothingmuch++ ! 23:44
nothingmuch like:
geoffb: wait, there's more
my $i; while ++$i < 5 {say "moose"; if (++$i == 2){ redo } else { say "no redo" };; say "Saw $i"}
pasteling "nothingmuch" at 212.143.91.217 pasted "the output of that loop" (8 lines, 51B) at sial.org/pbot/11699 23:45
nothingmuch as you can see in the nopaste, at some point there is "Say 6", which is not directly preceded by "no redo"
which is crap
we need callCC for redo as well
geoffb nodnod
nothingmuch i have no idea how this is working in the other impls
can someone right extensive tests for redo/next under for, loop and while? 23:46
geoffb Well, a grep for next earlier showed that it is very rarely used outside of its own tests. Which are probably fairly bogus
nothingmuch okay
so let's crak on that a while
geoffb (used in t/*/* I mean)
nothingmuch i'll commit while next/redo with the cases we have 23:47
and start on for
you do loop, fair?
geoffb nodnod
lemme pull and build, and then I'll start on the tests while that goes 23:48
nothingmuch Control.Monads is a slow build
geoffb Have you committed yet?
putter nothingmuch: looks plausible... vaguely... I think... ;) 23:49
Now I can remove the "# when next; works, change this to..." line from the Prelude.pm, or perhaps I'll wait a bit. 23:50
nothingmuch =)
putter goes off to read Sxx on redo... 23:51
geoffb Whee, dinner has arrived. 23:52
(better half)++
AFK again
nothingmuch ciao 23:56