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 |