Foundry down, use svn.perl.org/perl6/pugs/trunk for now | pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256 smoke/win2k (occasional): xrl.us/fqum (158/4302, r2032) | pugs.kwiki.org
Set by autrijus on 16 April 2005.
jabbot pugs - 2049 - commiting the changelog 03:01
pugs - 2050 - check in a comment generator for review 03:51
crysflame after reading HOP i now understand the whole currying/callback thing 04:17
ingy :) 04:19
jabbot pugs - 2051 - added dies_ok() and lives_ok(); added te 04:51
pugs - 2052 - added edge cases and error cases to t/bu
scw autrijus: Hello, it seems I didn't fix all the trailing-space eating problem of %h<a> and %h{'a'} 05:04
autrijus: only those in string interpolating 05:05
i.e. my %h = a => 1; "%h<a> <b>" becomes "1 <b>" instead of ""
jabbot pugs - 2053 - some more test cleanup and edge/error ca 05:11
pugs - 2054 - r14182@not (orig r2126): autrijus | 20 05:21
pugs - 2055 - * some cleanup on changelog 05:31
autrijus scw: it only matters there anyway 05:53
afaik
fixed changelog 05:54
crysflame hi, autrijus. 05:57
autrijus foundry is back... time to change /topic
hi crysflame
pugscode.org Ā«Overview Journal LogsĀ» 05:58
autrijus pugscode.org Ā«Overview Journal LogsĀ» | r1773/winxp: 587/4256 smoke/win2k (occasional): xrl.us/fqum (158/4302, r2032) | pugs.kwiki.org
jabbot pugs - 2056 - * some more cleanup and clarification on 06:01
mugwump goes home to play with his FreeBSD laptop 06:07
scw autrijus: no, %h<a> < %h<b> should not be parsed as %h{'a'}{'%h<b'} 06:09
autrijus oh, that bug is still there? 06:13
scw ya, :( 06:18
and I cannot even find out who eat those spaces :(
autrijus likely "rule" 06:19
all "rule" eats spaces
only "verbatimRule" does not 06:20
06:20 b6s_ is now known as b6s
scw :/ 06:20
jabbot pugs - 2057 - delete some of the sappier phrases 06:21
pugs - 2058 - * bring Lexer uptodate to use "Cxt"; als
scw Wow, I make my ghc panic :p
06:48 castaway_ is now known as castaway
jabbot pugs - 2059 - delete obsolete 'isnt' tests 06:51
pugs - 2060 - Add myself to AUTHORS 07:11
castaway flips jabbots off-switch , 07:12
jabbot pugs - 2061 - * clean up the nick part on pernod's UTF 07:21
pugs - 2062 - Really fix the space-eating problem on % 07:51
pugs - 2063 - Fix wrong test on string interpolation.
theorbtwo wonders who removed the trailing spaces in the AUTHORS file. 08:10
castaway 2060 maybe? 08:16
theorbtwo shrugs. 08:17
castaway why does it need trailing spaces? 08:18
theorbtwo Because the trailing spaces are the clue to fixauthors that the utf8 names have already been added automatically and then removed manually. 08:19
(Because fixauthors isn't smart enough to not add the utf8 name when it would be the same as the ASCII name.) 08:20
(Both because I'm lazy and haven't made it check, and because it's not that simple -- I consider the name in the first column the same as the one in the third column even if the middle name has a representational change.) 08:21
castaway Ah 08:22
Maybe you should add a note to the file that says that?
mj pugs -e "require Test; ok(!(eval 'my $a = [ { 1 }, { 3 } ]; $a().ref; 1'), '');" 08:25
kungfuftr moo 08:26
mj how to catch this?
kungfuftr $!
castaway use not_ok, for starters ? 08:27
(assuming pugs' Test has one)
scw why $a() ?
theorbtwo I think you actually want ok_dies, or whatever it's called.
dies_ok 08:28
Morning, lightstep. 08:29
mj pugs -e "require Test; plan 1; ok(!(eval ' my $a = [ { 1 } ]; say $a().ref; 1'), '');" 08:30
dies_ok, eval .... output is still "pugs: cannot cast from VList [VCode ( ..." 08:33
scw: because $a = [ { 1 } ], say $a().ref ... say Int
lightstep good morning 08:35
scw mj: IMHO, $a = [ { 1 } ] makes $a a reference of array whose first element is a subroutine 08:38
to call it, shouldn't we use $a[0]() ? 08:39
Then, my $a = [ { 1 }, { 2 } ]; $a[2]() works fine
castaway I think he's trying to test if it dies sanely
scw Oh 08:40
castaway (ie it should give a perl error, not a haskell one :)
mj pugs -e "my $a = [ { 1 } ]; say join ' ', $a.ref, $a[].ref, $a[0].ref, $a[0]().ref, $a().ref;"
Array Array Sub Int Int
castaway looks at mj for confirmation 08:41
allo nm!
theorbtwo Do it, and then do an ok(1, 'We're still alive after trying to call an array ref')?
mj pugs -e "my $a = [ { 1 }, { 2 } ]; say join ' ', $a.ref, $a[].ref, $a[0].ref, $a[0]().ref, $a().ref;" 08:42
pugs: cannot cast from VList [V
castaway ... yes it should dies 08:43
IMHO
nothingmuch hola 08:44
nothingmuch goes back to the doctor
nothingmuch wonders where corion is 08:47
mj pugs -e "require Test; plan 2; ok(!(eval 'my $a = [ { 1 }, { 2 } ]; say $a().ref; 1'), ''); ok(1,1)"
1..2
pugs: cannot cast from VList [VCode (Sub {isMulti = False, subName = "<anon>", s...
pugs -e "require Test; plan 2; dies_ok( { my $a = [ { 1 }, { 2 } ]; say $a().ref; }, ''); ok(1,1)"
1..2
pugs: cannot cast from VList [VCode (Sub {isMulti = False, subName = "<anon>", s ...
castaway wonders if mj can talk english as well as P6 08:49
It looks like it doesnt die_ok, so put that in the todo? (I dont quite see why we need it in the channel) 08:50
theorbtwo Make a new test file in pugsbugs with just that test in it.
Design it so that it succeeds and does 1..1\nok 1\n, or fails and does a 1..1\n and then vanishes. 08:51
nothingmuch wonders what test failed in this report: www.nntp.perl.org/group/perl.cpan.testers/199247
mj castaway: I am sorry about my English. 08:52
castaway Which english? :)
mj say $mj.speaks('English'); # Bool::false 08:57
eval 'my $a = [ { 1 }, { 2 } ]; say $a().ref'; is a eval bug, is it? 09:34
theorbtwo Looks like it to me. 09:37
Well, not sure the bug is in eval and not elsewhere.
But it is almost certianly a bug.
mj And can I add 09:45
my $a = [ in => { a => 1, b => 2 } ]; say join ' ', $a.ref, $a[0].ref;
to mixed_multi_dimensional.t ?
castaway Why are you joining? Just test one after the other? 09:51
mj sorry, problem is Hash of Hashes ... 10:12
my %hash = ('key', 'value', 'key1', 'value1');
my %hash2;
%hash2<in> = %hash;
say join ' ', %hash2.ref, %hash2<in>.ref;
# Hash Array::Slice
probably similar to Hash of ... in mixed_multi_dimensional.t
castaway hmm, interesting question.. if the first sigil now doesnt tell you what type of output you wanted, how does it know? 10:19
mj Can pugs return two arrays from sub? 10:29
stupid typo .... return (\a, \b); of course 10:33
Juerd References are hard! 10:58
And will be even harder in Perl6!
Well, easier to use by accident, harder to use on purpose. 10:59
osfameron ah, that didn't seem to be the original plan..
castaway The best laid plans.. 11:01
theorbtwo returns. 11:27
mj, fix your AUTHORS file entry?
castaway You were away? 11:28
theorbtwo was away.
(AUTHORS now has nearly-empty lines for "gcomnz", "mattc", "ninereasons", "putter", "tobez", "roie_m", "rootmj", and "wolverian"), but on the upside it now includes entries for all commiters.) 11:30
castaway nifty
wolverian I can add my name of course.
jabbot pugs - 2064 - AUTHORS file updates, and another tool t 11:31
theorbtwo Ah, nifty.
wolverian and thanks. :)
castaway reccommends theorbtwo have lunch. 11:33
theorbtwo Oh, the guy I found googling that I wasn't sure was you was. 11:34
jabbot pugs - 2065 - fixing my AUTHORS line; and thanks to th 11:41
pugs - 2066 - fixing my AUTHORS line; small tutorial_g
theorbtwo Um, rootmj, the bit in parens and allcaps is supposed to be your CPAN ID. 11:46
castaway Is there a hint that says so? 11:52
Juerd castaway: Common sense! :) 11:54
castaway not everyone has it ,) 11:55
mj muhehe
wiki.kn.vutbr.cz/mj/attach/pugs/tut...t4.p6.html
nothingmuch stevan: ping 12:04
theorbtwo: roie_m has mailed p6c with his full name
i can hebrewise it if he's not here
nothingmuch 's eyes hurt, taking break from puter 12:09
jabbot pugs - 2067 - encode_entities for tutorial_gen and fix 12:11
pugs - 2068 - fix my and TortoiseSVN fault
theorbtwo Roie Marianer is Hebrew?
nothingmuch yup
×Øועי מ×Øיאנ×Ø
×Øועי מ×Øינ×Ø
either of these should work and he can correct it later 12:12
gugod what does that mean?
nothingmuch מ×Øינ×Ø is prolly a european type name
i'm asking a friend named ×Øועיwhat his name means
castaway (hmm, none of that looks like language here ,) 12:13
nothingmuch he says 'either shepherd or something else, can't remember'
literally it could mean 'my shepherd'
mj damm it, I need break and food
nothingmuch i'll ci it into the AUTHORS
theorbtwo Thanks; my emacs doesn't want to paste that as utf8. 12:14
nothingmuch and then i'm really going
are pugsbugs tests being deleted?
jabbot pugs - 2069 - roiem in hebrew 12:21
Juerd They say on #perl that 93 x 18 = 1674 13:04
That's just not true.
It's 939393939393939393939393939393939393.
Besides, you can't assign to that. 13:06
castaway ,)
stevan nothingmuch: pong 13:07
boogie stevan: ping-pong 13:15
stevan boogie: :) 13:18
boogie: I responded to you on perl6-compiler regarding CGI 13:19
boogie stevan: and I picked up your second idea and answered it. 13:20
"What, if the first param() function call would trigger the whole parameter decoding?" 13:21
boogie closed the IRC application 13:23
boogie is here again 13:24
stevan boogie: but what if you have 20 parameters
and one of them tells you if you need to read the rest
if we decode the param() only when you ask for it, that would be not be a problem 13:25
boogie and what if you would like to read a param more than once? 13:26
stevan boogie: oh,.. good point :)
boogie: with your idea we only need one $IS_DECODED flag 13:27
boogie hesitates
yes, you're right. 13:28
stevan ok, so the first call to param() will decode all the params, or will it load the params() 13:29
how lazy to we want to be :)
actually if we don't load the params until the first param() call we dont need a flag at all
unless %PARAMS.keys { load_params() } 13:30
that is all we would need
boogie yes, that's all I think
stevan (well not all we would need, but that is the idea)
we would still need to check the GET and POST code
boogie: would you like to make the change? Or should I?
boogie stevan: I can do it, but as you prefer. :) 13:31
stevan boogie: you can do it, I actually need to do some $work anyway :) 13:32
stevan grumbles about having to code in perl 5 again
boogie stevan: it's the same for me, but I'll do it. ;) 13:33
nothingmuch pong2
stevan boogie: we can split the work if you like :)
nothingmuch: howdy 13:34
boogie stevan: how? ;)
nothingmuch hi ho
boogie stevan: it doesn't seems to be a big job...
nothingmuch wonders where corion is hiding
stevan boogie: do as much as you can, and when you boss catches you,.. commit and I will finish :)
castaway work, he usually only logs in when he gets home.. (from my observations)
he's probably listening to the CB though 13:35
boogie stevan: no boss, that's me. but I'll do, and you check it? 13:37
stevan boogie: sounds good to me 13:39
theorbtwo pings nothingmuch. 13:49
nothingmuch pong
nothingmuch chimes 13:50
theorbtwo My keyboard and mouse arrived -- mind helping me get my machine running?
nothingmuch sure
theorbtwo I know very little about macs...
castaway (plug keyboard into hole marked 'keyboard' .. )
nothingmuch so where have you gotten so far?
ah
theorbtwo When I just let it boot, I now get a dark grey apple log on a grey background, with a waiting thing at the bottom.
nothingmuch ADB is daisy chainable 13:51
theorbtwo After a while, the apple logo changes to a "no".
nothingmuch that means it's booting
oi
castaway its mac prolog ?
nothingmuch you can get verbose boot by booting up with cmd+v
and single user boot with cmd+s
theorbtwo When I do verbose I get the repeating "cant OPEN: ".
castaway hmm, drives attached? 13:53
theorbtwo Yes, drives are attached.
I wouldn't expect to get the grey and grey color scheme if it wasn't seeing the CD rom, as that's an OSX thing. 13:54
Yep, thought so.
stevan theorbtwo: is OS X on the disk yet?
castaway wonders what its trying to open then
theorbtwo cmd-s booting stays at the alternating black and white with rounded corners and a pointer. 13:55
stevan boogie: do you have any idea what merlyn is talking about? (see perl6-compiler)
theorbtwo Nope, stevan.
stevan theorbtwo: hold down c and turn on the power
older macs need to be told to look in the CD drive
boogie stevan: I'm still trying to decode.
stevan boogie: so am I :)
theorbtwo I assume rebooting with alt-power, then holding down c, will work? It's not set up so I can power and immidately hold down a key. 13:58
nothingmuch you can do cmd+ctrl+power
to get a reboot
theorbtwo wonders why mac people do not refer to metakeys the way they are labled. 13:59
crtl=apple key, right?
nothingmuch no, ctrl = ctrl 14:00
=)
cmd is the little flower/apple button
theorbtwo OK.
nothingmuch depending on how old your keyboard is
and alt was labeled alt starting 1998 or so
IIRC
theorbtwo Apple and thing-that-looks-like-#-with-rounded-corners.
nothingmuch yes
that's the apple key 14:01
or command key
theorbtwo Gotcha now.
Fortnatly, my alt key is labeled with both "alt" and funky-bent-line-and-dash.
Anyway, holding c gets me the black-and-white-plus-cursor.
Perhaps I should try swapping the cd and hdd; I don't know which is supposed to be witch. 14:02
nothingmuch black & white plus cursor?
describe black and white
theorbtwo alternating black pixel and white pixel, with the corners rounded off to black. 14:03
Swapped them, now trying C boot again. 14:05
nothingmuch okay 14:06
that sounds like the preboot screen
firmware sort of thing
it happens before a boot disk is found
rounded corners are always there at the top
(historic reasons?)
stevan fondly recalls the day he spent in the ROM monitor trying to get his NeXT slab to work 14:07
theorbtwo wonders if it's time to try booting to the open firmware. 14:08
boogie stevan: code checked in 14:09
stevan: it seems to work
stevan boogie: I will take a look :) 14:10
boogie stevan: I used $IS_PARAMS_LOADED, because it's possible that %PARAMS.keys is false
jabbot pugs - 2070 - load_params on demand 14:11
theorbtwo When trying to boot into open firmware I get a repeating "unrecognized Client Program fromatstate not valid". 14:12
nothingmuch oi 14:13
that is something i've never seen
theorbtwo tries a prom zap. 14:14
castaway hmm, that worked with qemu, no?
www.sk.netbsd.org/Ports/macppc/faq....-not-valid 14:15
nothingmuch eshop.macsales.com/OSXCenter/XPostF...ility.html 14:16
talks about beige g3s 14:17
and the fact that they supported pre-panther
castaway The list I found said 10.1 -> 10.3 was supported on G3/266
theorbtwo Hm, I could have sworn I checked, and panther supported /all/ g[345] machines. 14:19
stevan beige G3s are different than blue/white G3s 14:20
nothingmuch theorbtwo: there is a distinction between oldworld and newworld macs 14:21
i think panther likes newworld only
the distinction can be most reliably found on yaboot/bootx pages 14:22
theorbtwo I wonder if I should try finding an older OSX, or using XPostFacto.
nothingmuch SEE would like panther, IIRC
you could be very witty
and install linux ppc on the thing
and then try OSX inside of mol
castaway hmm, maybe I misreadthis, and the italics mean you need the XPostFacto tool: www.graphixmad.plus.com/mac_trouble...stems.html 14:23
theorbtwo Oh, looks like you need an existing 9 install to use XPostFacto. 14:25
Which I do not have.
(I bought a mobo only.)
nothingmuch oi vey
castaway hmm, bah
nothingmuch i'll go with mol for starters 14:26
castaway whats mol?
theorbtwo Mac on Linux.
nothingmuch 4th on google
www.maconlinux.org/
castaway ah
sneaky 14:27
theorbtwo How slow is MoL? 14:29
castaway it says native on the page
or rather, "No CPU emulation" (which is what I took it to imply)
theorbtwo wonders: debian or yellowdog (or other). 14:34
nothingmuch debian 14:42
but actually gentoo 14:43
it's supposed to be pretty fast
yellowdog is like redhat
the stench remains
i've had some bad experiences with debian
but it's supposed to have improved a lot in the past 2 years
castaway (oooh, Corion is watching us.. :)
theorbtwo Yeah, debian it is. 14:45
20 more minutes on the dl of the netinst.
Limbic_Region yeah - he says if you really need him [nothinmuch], you know where to find him 14:46
Limbic_Region slaps himself on the wrist for thinking every chat window is the Chatter Box
castaway already mentioned that way back then :) 14:47
jabbot pugs - 2071 - Minor indentation fix and removal of end 15:01
machack666 pugs -e 'my %hash=(1=>2,3=>4,5=>6); say %hash{%hash.keys}' 15:04
> undef
pugs -e 'my %hash=(1=>2,3=>4,5=>6); say %hash.keys'
(1,3,5)
pugs -e 'my %hash=(1=>2,3=>4,5=>6); say %hash{(1,3,5)}'
(2,4,6)
should this go in t/arrays_and_hashes/ 15:05
or pugsbugs?
nothingmuch still can't see corion when he logs into pm
i wonder if it's worth a /msg
yeah, why not
castaway he just went home, nm
nothingmuch ah
bummer for me
castaway yup, too slow.. otoh he may turn up here soon
machack666 I'll create a new test category: t/hashes/slice.t 15:07
jabbot pugs - 2072 - Added not yet finished German talk "Perl 15:11
autrijus hey lambdacamels
stevan happy birthday autrijus !
theorbtwo Happy birthday autrijus! 15:12
Limbic_Region msg'd autrijus cause he thought he would be too busy today but it is turning out to be a slow morning so "Happy Bday" again autrijus
autrijus hey
thanks =)))
ooh perl6 talk from iblech 15:13
I'll add my perl6 now the ultimate to it too
nothingmuch [1 .. 3] Ā»+Ā« (5|10) 15:15
stevan great,.. now I need to learn Haskell, german AND chinese :)
nothingmuch what should this be?
i expected [6|11, 7|12, 8|13]
but i am getting something i'm not sure is the same
any(6 7 8,11 12 13)
autrijus nothingmuch: I think that's right 15:16
ninereasons happy 24th autrijus
autrijus not 100% sure though
thanks
ninereasons you are one year older than my oldest child, autrijus
nothingmuch @a[0] stringifies in an odd way
@a[1] is nothing
ninereasons: i think you are the oldest #perl6-er then =) 15:17
we were competing the other way
i don't recall your entry
ninereasons autrijus*2
theorbtwo Ninereasons, you should fix your AUTHORS entry. 15:18
nothingmuch autrijus: it's a junction of lists
i think that's not right
say @a[0].pick;
jabbot pugs - 2073 - * add my P6tU talk from YAPC::Taipei 200 15:21
pugs - 2074 - Added hash slicing tests.
pugs - 2075 - Add realname
nothingmuch i'm doing an interview for perl.it on pugs:
- What the coolest thing you can do with Perl6 that is already working in PUGS?
i said hyper ops or junctions
anybody else got an idea?
stevan Junctions and MMD (although MMD is not totally done yet) 15:22
nothingmuch perlbot nopaste 15:26
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
nothingmuch my answer:
pasteling "nothingmuch" at 212.143.91.217 pasted "cool pugs things" (13 lines, 544B) at sial.org/pbot/9451 15:27
"gaal" at 192.115.25.249 pasted "pure perl alarm (again) - fails parse" (28 lines, 646B) at sial.org/pbot/9452
gaal hey all - coming back to alarm(). any idea why this doesn't parse?
also, how to declare a critical section? 15:28
theorbtwo Mm, you name &?SUB, but show &?BLOCK. 15:29
autrijus gaal: 1. we don't have the int type
nothingmuch oops, copied example from tests
autrijus gaal: there's not 2. :)
gaal ah :)
that does help, thanks. 15:30
nothingmuch sleep should use Num
i would like to sleep for floating seconds
theorbtwo alarm should probably take a Num, like sleep.
Of course, it's free to round it, but it should certianly /take/ it. 15:31
autrijus gaal: critical sections are not exposed by default
nothingmuch nononono, it shouldn't round it
autrijus I think you can do it using QSem (quantity semaphores)
gaal okay, this code actuall works!
autrijus oh. wow.
color me impressed
gaal modulo sending a signal :) because i haven't figured out to get the SIGALRM enum from haskell yet. 15:32
autrijus oh. it's easy
it's sigALRM from System.Posix.Signals
but I think you'll be sad
because the same module provides
scheduleAlarm :: Int -> IO Int
:)
gaal autrijus, this was the easy part, the hard part was kill() as you remmber from the weekend :)
heh 15:33
autrijus so... :p
gaal then ahain why does the haskell lib one take an Int and not a Num?
autrijus because the underlying C lib takes a Int.
(iirc.)
gaal because it doesn'twant to give the impression it can do
yeah
well, i think (a) we need to make the signal enum accessible anyway (b) *we* can give fractional second alarms if available 15:36
is a %SIG hash specced?
%*SIG
autrijus it's not. but "when unspecced, assume p5"
gaal okay; so the first thing i want is to make my p6 code reentrant 15:37
still assuming a global sigalarm
Corion Are we preflight already? Or is there time to check in my new tests, that break different things? :)
gaal also, this mechanism can be used to do something else instead of a SIGARLM -- like run a deferrered thread! 15:38
a thunk
autrijus oh wow, larry raised .specs which never entered my brain.
nothingmuch .specs?
autrijus apocalypses are the sort of documents that the more you read, the more things are in there 15:39
gaal you call my $id = alarm(3.14, { say "pi" }), and then you have some time to cancel it via $id
autrijus nothingmuch: lwall uses that to spec "@f = (1..Inf); push @f, @f;"
nothingmuch gaal++
autrijus Corion: you're free to check in things :)
nothingmuch autrijus: p6l? p6c? or unlogged?
Corion autrijus: Yay ;) I'll check in my first (nonworking) stab at splice() 15:40
autrijus nothingmuch: p6l
590 04/18 Larry Wall (2.3K) Re: Push and Pop on Infinite lists
Corion (plus some updated/upgraded tests, I think)
nothingmuch will look
Corion: can you send me complete results of Test::TAP::HTMLMatrix fail?
Corion nothingmuch: I'll mail you the output
nothingmuch i don't see exactly what test failed in there
thanks
gaal is there a release today?
Corion nothingmuch: CPAN::YACSmoke doesn't sent the complete test output, supposedly because of a bug in Test::Reporter, or so Barbie told me 15:41
nothingmuch oh well
Corion nothingmuch: You want a nopaste or a mail?
gaal are there *any* "builtins" written in pure p6 now? or are they all in Prim?
nothingmuch either or, Corion 15:42
maybe nopaste is better
this code belongs to us, not me
autrijus gaal: they are all in Prim.
gaal: not sure how to arrange Prelude.pm
gaal: suggestions welcome
Corion Test::TAP::HTMLMatrix passes all its tests when run interactively. 15:44
gaal autrijus, Prelude.pm shoud prolly follow S29, no? ie, Perl6::Lists etc.
Corion (v0.02)
... but I used the Makefile.PL, not the Build script now. I'll try the other. 15:45
autrijus gaal: sure... the thing is it should probably be turned into AST form
to save overhead on parsing
so we need a "make" rule for it
Pugs/Prelude.hs
or something like that.
gaal you mean precomiled into every pugs instance
autrijus aye
gaal *nod* unfortunately i don't think i can help with that :)
Corion Weird. Build.PL also passes all tests. Maybe that was with Module::Build 0.2609, I've now upgraded to M::B 0.2610.
Too bad/weird. 15:46
gaal isn't the interactive "." command reversible?
nothingmuch ah
gaal ie, String -> AST (or whatever the type is?)
nothingmuch Build.PL wants a new build step
2.6 required IIRC
oh, but 2.609 is also 2.6
autrijus gaal: you mean Main.parse 15:47
gaal: write a Pugs.Compile.Perl6
akin to deparse
then we'd have reversible parse
it's actually not hard and interesting
gaal doesn't grydon's talk mention that?
autrijus grydon?
gaal graydon, sorry. www.venge.net/graydon/talks/mkc/html/index.html 15:48
nothingmuch that was a wonderful talk
gaal it was, and i didn't understand most of it :)
ninereasons to me, it makes sense that an infinite array is to have a finite part 15:49
autrijus gaal: oh. well, no, not really, his compiler can't gen a Makefile back
gaal: you can look at Compile.Parrot if you want to write Compile.Perl6 15:50
it will be much easier to work on .Perl6
gaal i thought there was a bit where the went back and forth between ast and object language
autrijus aye, but not ast and _source_ language
gaal autrijus, i won't have time for this unfortunately :(
autrijus that's fine :)
gaal this is my last day before Tomorrow, heh 15:51
autrijus, on my part i can just offer to start Perl6:: by submitting alarm
or help with the release if it's happening soonish 15:52
Corion Is there an easy fix against: pugs: cannot cast from VError "unimplemented 3-ary op: splice" (App "splice" [Val (VRef <Array>),Val (VInt 8),Val (VList [VUndef])] []) to [Char]
?
gaal Corion, how come it's a 3-op?
Corion gaal: I don't know, but that's not the problem (that's a deeper problem). I get that error in $!, but pugs dies on me before I can do anything with the error. 15:53
gaal: I'm doing a 3-op in an eval, and pugs doesn't promote it to a 4-op. But I want to catch the error for now.
gaal do you perhaps have a forgotten line at the bottom of Prim?
oh
Corion Anyway - I'll commit the "work" of the weekend now - prepare for sudden unexplained test changes :) 15:54
autrijus ok :) 15:55
gaal should i just create Perl6/ at the top level then? or in ext/? it seems natural to put in one place everything that will eventually be loaded by default into pugs, so maybe not ext
autrijus braces for impact
gaal maybe call it Prelude in honor of Haskell
autrijus gaal: src/Prelude/Prelude.pm ? 15:56
Corion Maybe call it Foreplay , in an attempt of humor that doesn't translate well from German ;)
gaal but is it really in one module? S29 stipulates quite a few namespaces
Corion r2077 is all my fault now ;)
theorbtwo Prelude.Prelude would seem to be a rather questionable haskell namespace.
gaal (and doesn't define which one alarm is in, but i can use my imagination :)
Corion Ooops. :( I also committed my locally patched run-smoke.pl :(
Can somebody with a non-broken/nonpatched util/run-smoke.pl overwrite my version please? 15:57
Or can I undo such a commit?
gaal Corion, i think there's svn revert for that? (not sure) or worst case, you can svn up -r2076 util/run-smoke.pl 15:59
Corion gaal: Ah, thanks!
autrijus looking at Corion's commit now 16:00
jabbot pugs - 2076 - Additional slicing tests: calculated val 16:01
pugs - 2077 - Added first stab at splice - doesn't wor
pugs - 2078 - Added svn properties:
gaal okay, i'm going off to meet a friend, see you guys later!
autrijus have fun! 16:02
gaal thanks, youu too (happy birthday too!)
putter hmm... $x = 3 , without a preceding declaration, gives an Undeclared variable error. is this right, or should I add a test? 16:04
Corion putter: use strict; is in full effect by default nowadays.
... later, this will become optional for oneliners I guess.
putter autrijus: happy birthday ;) 16:05
ninereasons strict will be optional when running with -e
autrijus putter: thanks :)
Corion autrijus: Happy Birthday from me as well! 16:06
ingy hola 16:09
autrijus hihi ingy
putter trying to bootstrap scheme in a half-page of non-scheme code wonders what to do next. maybe frob the symbol table directly...
masak autrijus: is it still your birthday over there? in that case, happy $_
autrijus it was 9 minutes ago :)
wilx Happy default scalar variable? :D
masak autrijus: ouch! :) 16:10
wilx: happy whatever the topic happens to be, i.e. birthday
wilx Oh.
jabbot pugs - 2079 - Added EOL at EOF to t/builtins/lists/sum 16:11
nothingmuch we have some unexpected success: nothingmuch.woobling.org/pugs_test_status/
see the little yellow tiles
nothingmuch.woobling.org/pugs_test_...ml#line_60
oh wait, that's not todo
or maybe it is 16:12
dunno
can you set a css property such that a page is blank filled on the bottom?
roie_m++; # looks like his fixes are doing this 16:13
autrijus ok, i'll look into failures now 16:14
putter ingy: I saw something go by about folks having difficulty finding things in the synopses. Wanting indexing. I've found it useful to merge the synopses into a single synopses.pod, and the a&e into another. makes searching easy. perhaps something to add to Bible?
nothingmuch always managed with grep -ri 16:15
autrijus p6bible s
p6bible -q keyword
p6bible -f heading
nothingmuch and windows folks that might not have grep have google desktop
so they should stop their whyning
Corion nothingmuch: Windows folks also have F3.
nothingmuch: body { background-color: 7FF; } /* fills the page to the bottom */ 16:16
Do optional lists (like ?List) work at all currently ? 16:17
theorbtwo putter: Fix your AUTHORS entry, please.
crysflame does google index the svn repo? 16:18
autrijus Corion: I very much doubt it
Corion autrijus: Ah ;)
cognominal just received ATTaPL. This seems to be a great book. It apparently thread together papers that independantly did not made sense to me . paper so specialized I could place them in the larger contect due to lack of prerequisite knowledge by myself) 16:20
It seems less scholar and more concrete too. 16:21
autrijus cognominal: yeah. I'm happy it helps :)
<- having just read Wadler's revised effects typing paper and Epigram team's dependent type paper
mugwump: the latter I think is your cup of tea 16:22
Corion theorbtwo: ping
theorbtwo Pong.
autrijus mugwump: www.cs.nott.ac.uk/~txa/publ/ydtm.pdf
ingy putter: yeah, sounds good 16:24
putter "the arrival of GADTs in Haskell is a joy and a relief." - ydtm :)
autrijus that's why I jumped on it :) 16:25
it is indeed a joy and a relief.
putter ingy: re pod names: s.pod, so "p6bible s" works, seems nice. not sure what to call the combined a&e. I use "historical.pod"... blech. anyway, I've a hack pod combiner if a real one doesnt exist out there... 16:29
jabbot pugs - 2080 - Cleaned up splice.t to have less tests, 16:31
autrijus p6bible ae
p6bible aieeeee
putter theorbtwo: ok.
autrijus: ;)
cognominal autrijus: this paper is still hot from the oven 16:33
ingy has now lost 20.5lbs in 13 days 16:35
autrijus cognominal: right, that's the great thing about type theory researches :)
instant turnaround from paper to code
ingy 6.5lbs to go
autrijus alright... lots of rx broken 16:37
"abc" ~~ rx:perl5/^abc$/ && $0 16:38
this breaks
basically every rx that has trailing $ breaks
jabbot pugs - 2081 - updated entry for putter in AUTHORS 16:41
Corion I didn't do it! :)
(or so I hope)
autrijus I think it's roie_m.
Corion Let's blame roie_m
autrijus I further thinks that's worth delaying 6.2.1 some more to get it fixed 16:42
instead of forcing todos
autrijus finds even more rx qq bugs
ok. I think we won't realistically hit preflight tonight :) 16:44
I'll try to get tree in a healthier state now
and we'll see if a monday release is possible
putter wonders if folks will start thinking about time in gmt as non-local communication becomes an increasingly significant part of their lives... 16:46
autrijus we'll probably form tribes :)
as in Eastern Standard Tribe
Corion I think of gmt as almost local communication. But then, I usually communicate relative time units, like "in 8 hours" instead of "tomorrow". 16:47
crysflame putter: one of my favorite things to do on irc is to respond to a 12-hour-old conversation 16:48
presuming their clients are configured effectively, the people i address in response will receive it.. eventually 16:49
Corion r2080 - datenzoo.de/pugs/win2k.html (even though it claims r2020, I think that's when somebody broke the automagic update9
putter ... 30 hr/day drifting tribes... "day of year mod 2 = 0" alternating all-nighter tribes... 16:51
Corion Hah. I think I know why the svn version doesn't update anymore - likely the Makefile gets generated in a broken way that refers to the file before The Great Renaming. 16:52
Yep - looks like it in util/version_h.pl
autrijus cool. please fix :) 16:53
I'm fixing this annoying segfault in the interactive shell.
theorbtwo wasn't too wonderful careful about that. 16:54
Corion I'm looking if my "fix" works
Yay. Seems like 'include "src/pugs_version.h"' in Help.hs seems to do what I want. 16:55
committed
r2082
autrijus thx 16:56
Corion autrijus: How do I do side-effects from Haskell onto a passed-in array? I need to do that for splice() - what should I read/where should I steal/cargo-cult code from? 16:58
Choosing the right cult is important before cargo-culting!
crysflame ha 17:00
autrijus lol
cognominal you don't choose, the particular cargo is bestowed upon you.
autrijus Corion: you want to call doArray with splice.
Corion: there is a builtin splice method to arrays. 17:01
just invoke it.
jabbot pugs - 2082 - Make Pugs mention the svn version again
Corion autrijus: Oh - I looked for that but didn't find it. Will look and use that one then, just like push/pop do.
thanks
autrijus np :)
splice is also nontested
so it's fully possible that it's broken 17:02
in that case, either repair it in src/Types/Array.hs
or just for IArray in src/AST.hs
or just punt to me
putter notices 4 "Looks like you planned N tests, but..." messages in a 1+ hour old build. 17:03
Corion Should we have eval_is warn if the eval is not fatal, as that's somewhat unexpected? 17:10
autrijus sure!
also eval_is is not lexical really
my $x = 3; eval_is('$x', 3) would fail 17:11
jabbot pugs - 2083 - * the interactive shell no longer segfau
pugs - 2084 - Promoted all tests from eval_is() to is(
autrijus that annoys me
Corion I'm hunting down (meanwhile) useless / unnecessary use of eval()
autrijus can someone think of a p6esque implementation of eval_is?
it doesn't matter if pugs can't run it; it matters that it's p6ish and preferably okayed by @larry
stevan autrijus: thats what I was trying to do with throws_ok
but that wont catch parsefails
autrijus there shouldn't be any parsedfails that can't be caught by eval :-/ 17:12
jabbot: seen roie_m 17:14
jabbot autrijus: roie_m was seen on Sun Apr 17 17:26:37 2005 GMT
theorbtwo wonders if we can make PUGS_HAVE_HSPLUGINS reflect to perl6, so I can test it properly.
autrijus theorbtwo: sure... I wonder if you can make it into a regular util/config_h thing. 17:15
theorbtwo: and in any case, I'd be fine with a $?PUGS_HAVE_HSPLUGINS
theorbtwo Cool.
Wouldn't that be $* ?
autrijus $* then. 17:16
putter autrijus: ok, that was a fun paper. thanks! anyone: volunteers to do an LtU entry? 17:17
stevan autrijus: well all we need for throws_ok is for that t/pugsbugs/code_blocks_as_sub_args.t to run 17:18
autrijus putter: shapr pointed me to it. not sure whether he'll LtU it or not
stevan I figure I can smartmatch the $expected_error arg, which should cover Str, Rule and Class comparisons (IIRC)
gaal heya 17:19
Corion Hmmm. No, too many false alarms for automagic _eval_ removal.
gaal autrijus: on the reversible parse idea, i think it would be hella rad if we have an option for a fully reversible AST, which yields the exact source at it came from the compilation unit. this is very useful for large refactoring tools, eg IDEs 17:21
stevan Corion: false alarsm?
Corion stevan: I was trying to automate weeding out unnecessary eval_is and eval_ok calls by doing a diag() if the eval didn't die.
autrijus gaal: preserving comments and whitespaces?
gaal yes
autrijus gaal: that would require annotations at each token level
Corion But that doesn't always work, as some stuff doesn't parse, yet still works within an eval :)
autrijus gaal: I think it's ~much easier to just attach each token with the "span" of line/column 17:22
just like GHC 6.4 does
we do it at statement level now, but it can be finer grained.
theorbtwo ...which is also useful for error messages.
gaal we already need to keep strings around for Perldoc
autrijus gaal: right, I think it's a good idea.
theorbtwo Boggle -- it worked the first time. 17:23
autrijus try to think out some TODO tests?
or start writing S20?
gaal of course in production code all this shouldn't necessarily have to go in; and the AST can already contain optimizations
which one is S20? 17:24
autrijus "debugging"
gaal oh, didn't nothingmuch start on that?
autrijus that's A20 17:25
gaal Corion has a point up there, we'd love to have partially parsable compilation units. Eclipse does it already for Java... no idea how though. 17:26
Corion I have a point where?
gaal where you say some stuff doesn't parse, and some stuff is in eval 17:27
or is that crosstalk? :)
Corion++; # no matter, you have a point anyway
this reminds me of polyglot poems, someone just brought that up recently 17:28
Corion Aaah - I think I see now where the problem is. Some errors (like method lookup errors) don't set $! 17:35
Corion goes to write a test to confirm that 17:36
autrijus good read: 17:39
www.intertwingly.net/blog/2005/04/1...urmudgeons
(via LtU) 17:40
Corion Ah. Yes - if the method itself exists, but the signatures fail to match, $! doesn't get set. Where should that test go? Into magicals/ for $! ? Into subs/ ? 17:41
autrijus magicals I think 17:42
Corion should I name the test dollar-underscore.t ? :) 17:44
Hmmm. No, seems like I just don't understand how signatures interact. Anyway - I wrote five tests that check $!. That's good too :) 17:47
autrijus is impressed by Corion's attention to details 17:56
Corion s!attention!obsession!, but what exactly did impress you?
autrijus just looking thru your commit diffs :
:)
castaway ruffles Corion
Corion boings 17:57
autrijus obsession is clearly the correct term here
Corion autrijus: I feel more like a chainsaw there, than doing detail work :)
theorbtwo Try to keep it down, Corion.
.oO(Or at least in your pants.)
autrijus that's ok... we are building a swiss army nuke anyway 17:58
Corion I thought today was no-pants day?
castaway eh?
shame, seems I missed it
Corion Hmm. If I have sub foo($a is rw) { $a++ }; and then call it with foo(19); # that should die, and set $!, correct? 18:06
castaway why? 18:07
Corion castaway: Because it tries to write to $a. IMO, that is an error.... 18:08
(because $a is the constant number 19)
castaway oh, right
I was stuck looking at the "rw" bit
theorbtwo "is rw" is the perl 5 model. 18:09
sub foo {$_[0]++} foo(19) 18:11
Corion Weird. Singled out the tests work, but in other settings, $! does not get set... But I'm too tired at the moment to pursue this further ...
&
castaway later C 18:12
theorbtwo Later, Corion.
May your pause be refereshing!
boogie somebody can tell me, if I could write a file in pugs? 18:20
jabbot pugs - 2085 - Added tests for $! 18:21
pugs - 2086 - Backed out my eval-checks out of Test.pm
pugs - 2087 - math/log.t doesn't need eval() anymore
pugs - 2088 - chr.t doesn't need eval() anymore
pugs - 2089 - ord.t doesn't need eval() anymore
pugs - 2090 - Added test for modifying a constant
autrijus my $fh = open(">file");
$fh.say(...)
boogie autrijus: thx :) 18:22
autrijus np :) 18:26
hey, would people find my() useful? 18:27
as opposed to toplevel my()
but rather inline
($x, my ($y), $z) = 1..3;
theorbtwo Hm? 18:28
castaway ummm
theorbtwo That doesn't already work?
stevan yuk
autrijus theorbtwo: that doesn't. all var decl is currently stmt-level only
which I think is quite limiting
but hey, nobody ever complained :) 18:29
stevan while (my $line = =$fh) would be nice though
theorbtwo It doesn't exactly lead to clear code.
But it is useful from time to time.
Also, it's specced, I think.
ninereasons "useful" is the operative word, I think.
theorbtwo stevan: foreach =$fh $line -> {} would be the normal way to do it.
autrijus for =$fh -> $line {} 18:30
theorbtwo But the way you wrote should work, if only for compatability with the fingers of p5 programmers.
Er, right, for, not foreach.
stevan theorbtwo: very true
hlen i really don't like the look of unary = 18:31
but oh well
theorbtwo Neither do I, hlen. 18:32
autrijus hlen: you can always write readline().
ninereasons stevan, may I msg you? 18:37
theorbtwo jabbot, seen nothingmuch?
jabbot theorbtwo: nothingmuch was seen on Mon Apr 18 16:15:28 2005 GMT
theorbtwo wonders if there's anybody about who might be nice enough to point me to a .iso of an OSX 10.2 (Jaguar) CD, or any older MacOS CD. 18:40
stevan ninereasons: sure 18:46
theorbtwo: 10.2? 18:48
castaway nods. 18:50
theorbtwo 10.2 would be wonderful.
stevan uhm,...ok 18:51
I got the physical CDs (there are 2), and a powerbook,.. how do I make you an image?
theorbtwo Start disk tool, should be an option to make an image out of a disk, I think. 18:52
stevan ok,.. gimme a moment :) 18:53
stevan putters around his hard drive looking for the right tools
theorbtwo Ah, dd if=/dev/disk1s0 bs=2k of=jaguar-1.iso
Allo, pdcawley. 18:55
stevan theorbtwo: read-only, compressed or DVD/CD master? 18:58
and it seems to want to make a .dmg 19:00
theorbtwo Try using dd if=/dev/disk1s0 bs=2k of=jaguar-1.iso, then bzipping the file.
jabbot pugs - 2091 - * "uniq" not yet implemented ==> un-un-e 19:01
pugs - 2092 - normalized the few tests which said plan
pugs - 2093 - Added note to self to not forget to incl
pugs - 2094 - a couple more phrases
theorbtwo Otherwise, try "compressed"; I think I can find something to deal with dmg files.
autrijus stares at the huge flow of commits
autrijus submits an Euro OSCON talk. 19:02
Corion autrijus: I'm not the only one suffering from commit-withdrawal
autrijus Corion: I have this feeling that summarizing them at this moment would amount to solving the halting problem.
theorbtwo tries to remember to fix AUTHORS before release this time. 19:03
boogie stevan: are you there? 19:07
stevan boogie: yes
mj parsedfails example that can't be caught by eval?
pugs -e "eval 'my $a = [ { 1 }, { 2 } ]; say $a().ref';"
boogie stevan: CGI.pm has a header sub, and as I see, it has a bug.
stevan boogie: what's the bug? 19:08
boogie stevan: sorry, no bug, I just misunderstood the code :D
stevan :)
autrijus hrm. I try to tie the "Boot camp" image with "Perl 6 Bootstrapping" together in my talk title and fails
"Perl 6 Bootstrapping Camp"?
"Perl Rebooted"? 19:09
theorbtwo Note to self: hit the body of the tab, not the little x.
boogie stevan: it's strange, that you don't put \n after location or content-type, just at the "return"
theorbtwo Nah, Rebooting Perl 6 is what we're doing right now.
Getting it out of it's rut.
Remember that you want \cM\cJ, and not just \n. 19:10
Corion Hmmm. Upgrade to Firefox 1.03 went seamless and it even kept all bookmarks and plugins it seems.
castaway grats Corion
theorbtwo Cool.
I'd expect nothing less; it's a minor secuirty flaw update.
Corion (this was from 1.0pre)
theorbtwo Oh.
Corion yep :) 19:11
jabbot pugs - 2095 - Oops! s/foreach/for/
theorbtwo In that case, I would have expected much less, very cool.
Corion I also didn't expect it, but it's very nice indeed.
stevan boogie: that is so that the $charset variable is supported
boogie stevan: yes, it's OK now. :) I just wanted to insert a set-cookie header (only as a hack not yet extending the CGI.pm) exactly before the return and I didn't find where is that "\n" 19:13
stevan boogie: I think that Location or Content-Type are supposed to be the last headers (but I may be wrong) 19:15
theorbtwo HTTP headers should be mostly order-independent.
boogie Yes, as I know, order doesn't matter. 19:16
jabbot pugs - 2096 - added end-of-file newlines to .hs files 19:21
nothingmuch can i splat an idea on the chat (For a talk at YAPC::NA) 19:23
and get some feedback?
autrijus sure!
theorbtwo Shoot.
nothingmuch it's called "Safe sex in the 70s - robustness, KISS and the waterbed complexity theory" 19:24
therein is discussed:
where are bugs more "nasty"
which code needs to be more free of bugs
that KISS lowers bugs
but the waterbed theory makes them go up eventually 19:25
and what I normally do to keep things balanced
with a bit of perl 6 thrown in at the end
and how I think it will help
autrijus that looks disorganized :)
nothingmuch explain
theorbtwo Hm, it looks pretty interesting to me. 19:26
autrijus basically it's about complexity management
nothingmuch autrijus: yes, but a naive perspective into it
autrijus I'm not sure how waterbed fits here
nothingmuch it introduces the 70s to the title ;-) 19:27
autrijus because KISS is about "chopping off" the going up part
and only keeping the low part
so explain the waterbed?
nothingmuch well, in the last 3 things I wrote i've managed to get far more KISS by raising the complexity a bit
for example, making a script into 3 pipelined scripts required:
locking, transactions, and a protocol 19:28
autrijus right, that's called modular design, but that still doesn't quite explain the waterbed :)
nothingmuch but eventually made things work out much better
another example: anticipated growth of project is in a series of modular objects
interacting with one object
how complexity was moved from N space to constant space
by making the one object a bit too big for XP heads maybe 19:29
but keeping the N objects very lean and maintainable
the one object was refactored mercilessly
but still has about 500 lines of code
and the objects that support it directly are another 500 or so
but the hard parts are each no more than 100
autrijus ok, so focus on that 19:30
nothingmuch which work reliably, even in flakey situations (like relying on rsh)
what do you mean? focus on examples?
autrijus yes
nothingmuch or focus on N -> 1 conversion?
ah, ofcourse
autrijus focus on how one can practically refactor the problem space
nothingmuch examples are the means to convey the message
but i would like to identify to in the talk: where KISS fit in 19:31
what was the cost of forcing KISS
autrijus sure, but I mean, stress in your abstract that this will be a "from the trenches" talk
nothingmuch or what I had to do to allow more KISS (by pulling up the waterbed)
hmm, good point
any more tips?
autrijus where it will be much easier to get accepted
because otherwise you'll sound like another XP theorist
nothingmuch ah... nope
nothingmuch has never gotten along well with XP
mainly because i haven't yet worked in teams 19:32
autrijus I think you can drop the waterbed really.
waterbed is about "complexity is a constant in a problem space"
which clearly doesn't apply
because complexity grows in your case
theorbtwo Well, no, it doesn't.
nothingmuch i keep getting shoved in for quick ninja jobs
but then i won't have the 70s ;-)
hmm
i remembered complexity is: you shove it down here, it bulbs up there 19:33
that's why i liked the metaphor
autrijus that may be true when you are designing general-purpose tools (like perl 6)
but I think for specific projects, like the one you are discussing, good modeling really kills the complexity 19:34
not only shoving it under the carpet
which the waterbed theory would suggest
putter complexity reduction _and_ relocation
autrijus so in my mind your talk is more like
nothingmuch what I will propose as solutions on case by case basis
autrijus "KISSing the unsighty frog"
nothingmuch (safe sex while dieting - ask ingy!) 19:35
autrijus "refactoring seemingly impossibly complex problems into managable ones"
nothingmuch hmm, i don't think it's seemingly impossible
anywho, the ideas I want to bring up as silver bullets: forcing overmodularization when you find nothing else to do
autrijus ok, then "divide and conquer complexity as it increases"
nothingmuch raking down knowlege to the lower hierarchies in the object connectivity graph, as a rule of thumb 19:36
theorbtwo The sexy army theory: Divide, conquer, and KISS.
autrijus theorbtwo: ooh
nothingmuch heh
autrijus but, the thing is, I (as a hacker) is very interested in hearing your real world stories and the Kata you formed 19:37
but any overabstraction is an instant turnoff :)
that may just be me, though.
nothingmuch it's more of a joke really
theorbtwo Aye. 19:38
It can really go either way.
Too much of either leaves me with a "well, duh" feeling.
autrijus true that.
although I like the Kata imagery.
nothingmuch maybe if we shove 'post-mortum' in the begining of the premise somehow then it will be obvious that this is "real"
yeah
1 minute of theory
nothingmuch has a turnoff from all those 'testing is cool, xp says so'
and then 'here's how you write a test file'
20 minutes of examples 19:39
i like to see a little of both:
find a problem, or some related problems in the real world
try to think of them as related by abstracting a bit
figuring out what the problem really is
and then reapplying to reality
autrijus yeah, that works pretty good. try to work that into your talk abstract, perhaps?
nothingmuch sure will 19:40
ooh, 'complexity water-bed' is an interesting google
nothingmuch wonders when he started using google like a verb
putter still trying to nail core idea... "proper placement of simplicity"? 19:41
eg, "KISSing the _right_ frogs" 19:42
nothingmuch 64.233.183.104/search?q=cache:bRhp4...ent=safari
putter++
and then "but you still had the same amount of water in the mattress" www.garbett.org/?q=node/3 19:43
autrijus "Princess 101: Kissing the right frogs" 19:44
nothingmuch but he sort of contradicts it in a logical way
complexity is not decreased
it's simply spread out
but if it's spread out to thin, then it kicks back
i.e., you want something to be both shallow, and not too broad 19:45
but you can't
what I think i sort of learned to do from those things is to choose where I want it shallow
because being broad in a limited space is OK
versus where I prefer that it's deep
the rationale is: it's easier to read shallow code
but it's harder to piece it together
if there are too many chunks of shallow code, then you grow too broad to fit in memory 19:46
and even exposƩ can't help you
i think the ideas are supposed to help you organize breadth
so that you can be shallow, but broad in an expected way 19:47
and have bunches of shallow and bunches of deep interacting with each other
so that it's shallow in bits at a time
that's why the waterbed theory of complexity popped up initially
does it make sense?
theorbtwo How to choose where you want the lumps in your waterbed? 19:48
putter Techniques for kissing on the waterbed. 19:49
castaway is all lost.
nothingmuch lumps in the waterbed
ick
Khisanth castaway: go geta water bed? :) 19:50
castaway no thanks, they're all so wobbly
Khisanth nothingmuch: that just means the AC is turned too high
jabbot pugs - 2097 - Added EOLs at EOFs. 19:51
pugs - 2098 - Added SVN properties in t/:
nothingmuch Khisanth: you think i have the money for an AC /and/ a shag carpet?
Khisanth a what carpet? 19:52
castaway shag!
nothingmuch dude, like, the thing you put in your van 19:53
xrl.us is being slow 19:54
xrl.us/fs6c 19:55
putter iblech: beat me to it. there are still a few left (files wo EOLs at EOF). are you going to do them? 19:56
nothingmuch: Princess 101: Choosing which frogs to KISS, and where to lie on the waterbed. 20:00
nothingmuch sort of prefers 'safe sex in the 70s'
i think it sums it up well ;-)
quick poll: you are going to attend the talk because: 20:01
it's interesting
you don't want to be impolite and not come
you're not going to anyway
castaway you missed "theres nothing else on right now" 20:02
autrijus what castaway said
but, 4am!
nothingmuch those are both your choices? how rude!
castaway I cant tell what Ill go to and what not, until I see the entire plan
autrijus sleeps. *wave* &
nothingmuch ciao autrijus!
castaway nope I didnt chose one, just said you missed it
nothingmuch ah
=)
castaway currently has no idea what its about ,) 20:03
night autrijus
nothingmuch well, i'll submit what we've got 20:05
castaway my order of picking things goes "interesting subjects" and then "I know that guy" (and sometimes vice versa ,) 20:06
nothingmuch 's too
putter g'night.
jabbot pugs - 2099 - Cleanups of the HTTP and HTML of http-se 20:11
pugs - 2100 - Added EOLs at EOFs and appropriate svn:m
pugs - 2101 - Added a small README to examples/network
putter wonders just how hostile "waterbed" talk sounds in radically genderskewed groups... 20:13
nothingmuch define genderskewed
mostly male? 20:14
putter yes. especially of a two orders of magnitude to one flavor. 20:15
PerlJam putter: to those people that know perl, there is no hostility.
(no matter the gender)
theorbtwo Part of the point of YAPC is that it's supposed to be laid back. 20:16
castaway but not *that* laid back ,)
theorbtwo But from looking about last year, less then 1/4 of those attending are female.
Khisanth there are people hostile towards waterbeds? wouldn't that be ... abit messy?
nothingmuch wonders how much it would cost to shag-carpet the event place
location, rather
Khisanth nothingmuch: too much :)
theorbtwo I doubt the 98 chestnutters would like it. 20:17
nothingmuch that would make it very laid back though
we could put those space chairs
and light the place with lava lamps
castaway :)
nothingmuch so wanted to grow up in that era
perhaps i still do 20:18
wolverian porting my recent p5 module to p6 feels nice. I can really appreciate gather/take more now. :) 20:19
nothingmuch wait till it bites you
wolverian it wouldn't do that. :/
nothingmuch it shouldn't have been lazy, or at least if it was, it should be all or nothing kind of lazy
it should be great for OBFus though 20:20
generate the elements of an array in a gather/take
and modify the index accessing them in the block 20:21
with modulu arithmetic
use that to de-shuffle a shuffled split //, "Just another Perl hacker"
blammo, readability flattenned with a steam roller
wolverian heh. 20:22
stevan wonders if nothingmuch has gotten into Larry's blue ice cubes or not 20:23
Khisanth he replaced the sugar with ice?
wolverian how useful is using a 'Str' type in a signature? I mean, just about everything stringifies, no? :)
nothingmuch i reckon it would force stringification 20:24
wolverian I guess I want that, then. maybe. hmm. ok.
stevan Khisanth: if it's blue I dont think it matters what its made out of :)
nothingmuch stevan: yup, that's a good analysis 20:29
things that are blue and have the same effect:
cheese
popsicles
uhm
i can't think of any valid blue food
osfameron_ blue M&Ms ? 20:32
nothingmuch good point 20:33
theorbtwo blueberries? 20:34
gaal blue cheese?
nothingmuch blueberries are purple
and blue cheese is dangerous
gaal: i have elidel 20:35
it burns so far
in the face
but it's helping with the elboes
w
gaal yes, it can do that at first. /msg?
nothingmuch sure
mj my %conf = ( each => 0 ); 20:38
say %conf{'each'}.ref ~ ' ' ~ %conf<each>.ref;
Int Array::Slice ... r2061
jabbot pugs - 2102 - added #!/usr/bin/pugs to a couple of tes 20:41
theorbtwo G'night, pugsers. 20:47
putter G'night, theorbtwo.
Qiang blue screen 20:49
mj Array to hash? for @prep_index -> $key { %index{$key} = 1; } 20:54
PerlJam ick.
%index{@array} >>= 1 # or whatever the operator du jour is.
Corion r2097 - datenzoo.de/pugs/win2k.html ... good night! 21:00
mj thanks, but not with Pugs yet 21:01
I was thinking about %index = hash reverse @index.kv;, but index 0 corrupts it.
gaal so >>+<< 1 it :) 21:02
gaal zzz&
mj gaal: %index? how? 21:06
ninereasons mj, are you just trying to say "my %hash = hash @array.reverse; 21:09
nothingmuch thinking more, i think i want to make a c2.com page: BadBreath 21:17
a subset of CodeSmell that make KISSing hard
=D
mj no, I am trying for @index -> $key { %index{$key} = 1; } .. for $some exists in @index testing 21:22
next if %index{$some};
push @index, $some
ninereasons perl5ish would be something like "map{ %index{$_} ++} @array" mj 21:31
that might work
but what PerlJam said is the preferrable idiom, IMO 21:32
putter putter wonders if there is a p6 idiom list somewhere... 21:33
ninereasons :) you're building it, I think, putter
putter ;) 21:34
mj g'night ... see some Pugs r2061 outputs .... wiki.kn.vutbr.cz/mj/attach/pugs/tes...03.p6.html
ninereasons night, mj 21:35
putter mj: nifty... 21:38
is anyone doing automatic html-ification of pugs? specifically, pod2html'ing examples/? 21:41
stevan putter: look at examples/tutorial-generator (or something like that) 21:42
putter neat. is anyone running a webserver which serves html'ified copies of the assorted pods in pugs? 21:45
crysflame putter: i think ingy wrote a kwiki that uses pod as its backend once 21:57
ingy aye 21:59
I think it is down at the moment
jabbot pugs - 2103 - find other src files, some minor fixes a 22:01
putter crysflame: thanks. i was also using pods on the parrot vm twiki. and it provided a pod2htmlified view of cvs source and doc files. but the twiki was cracked, my domain was smashed, and i'm still not really back on the air. or i'd do it for pugs in a second. :( 22:02
machack666 what is the expected result of comparing junctions? 23:21
mugwump any(true,false,maybe)
machack666 $j = (6|7); 23:22
$j == $j
mugwump well, any of (6,7) == any of (6,7), so true
machack666 > ((bool::false | bool::true))
that's what I'm currently getting
I would expect a true value 23:23
mugwump my tongue-in-cheek answer was closer to the truth than I thought!
machack666 I guess it's saying that some of the elements match some of the other elements
which some elements do not match
s/which/while/
sounds like a maybe to me
we can also construct some logically implausible junctions. 23:24
$j = 6&7
crysflame watches with interest
machack666 obviously, this is only useful when comparing againns other juctions 23:25
as a normal scalar is never 6 and 7 at the same time
(that's actually how I got on the tangent above)
(6&7) == (6&7) 23:26
> ((bool::false | bool::true))
crysflame 6&7 means.. 6 or 7?
crysflame tries to follow (6|7) vs (6&7) and fails 23:27
given all(6,7) == all(6,7), 50% of the results are false and 50% are true
mugwump 6&7 is the same as all(6,7)
crysflame 6==6, 6==7, 7==6, 7==7
which collapses to what pugs says, i guess
cool
mugwump 6|7 is the same as any(6,7)
machack666 ok, so the all case I can see why it breaks down 23:28
but what about the any case
shouldn't that just return a bool::true?
crysflame any(6, 7) == any(6, 7)
mugwump in bool context, yes 23:29
crysflame hmm
machack666 what about in scalar context?
is that the "maybe" refered to above? ;) 23:30
or just true, but indeterminant
(or irrelevant)
mugwump yes, it's irrelevant
mugwump nods sagely to make it look like he knows more than nothing 23:31
machack666 needs to feed his rugmonkeys
that sounds bad, actually...
:D
mugwump ok, I think I understand why $j = (6|7); $i = ($j == $j) makes $i a superposition of true/false 23:33
so that this works:
if ($j == $j) { say "Ok" } 23:34
if (!($j == $j)) { say "Ok" } 23:35
if $j is any(6,7), both should OK
if $j is all(6,7), neither should OK
pugs> (6&7) == (6&7) 23:36
((bool::false & bool::true))
pugs> (6|7) == (6|7)
((bool::false | bool::true))
pugs>
It might not seem to make sense that the return value of a comparison is not a simple bool, but if what you're comparing isn't tangible either, that's what you get :) 23:37
crysflame oh, that makes sense
any(false, true) vs all(false, true)
ow my head 23:38
it doesn't make sense anymore :(
mugwump in a SQL query, when you define a table alias, you're defining an entity which is a superposition of all the tuples in the table. 23:39
So, when you use the expression (mytable.val = "SomeValue"), the "value" of that expression is a filter, not a boolean
machack666 returns to the discussion
pugs> $j = 1 ^ 2 ^ 3; 23:43
(1 ^ 2 ^ 3)
pugs> $j == $j
((bool::true ^ bool::false ^ bool::false) ^
(bool::true ^ bool::false ^ bool::false))
let's decipher this one
crysflame ^? 23:45
machack666 so in boolean context, a junction is true if it has some degree of truth? i.e., bool::true is on of the junctive arguments in the result? 23:50
or is that over simplifying?
jabbot pugs - 2104 - quote generator: read in from file, chan 23:51
machack666 using the SQL analogy, if we retrieve any rows with our filter, it's true.
hmm... junctive combining is only working left-associatively. 23:53
or it is to sayis working differently than the right.
pugs> (1 | 2 | 3)
(1 | 2 | 3)
pugs> ((1 | 2) | 3)
(1 | 2 | 3) 23:54
pugs> (1 | (2 | 3))
((1 | 2) | (1 | 3))
while those are equivalent, they should collapse to the same junction, according to S09 23:55
mugwump sure. make a failing test for that last bit if you like :) 23:56
machack666 I'm trying to figure out how to stringify a junction
"$j" just gives me a junction back... 23:57
that's not a lot of help... :D
mugwump there's a .values method