The Return of the Journal : pugs.blogs.com/ | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6
Set by GammaRay on 31 December 2005.
00:05 pfenwick joined 00:09 Debolaz joined
Juerd & sleep 28800; fg 00:13
00:15 Cryptic_K joined 00:21 aufrank joined
aufrank hi all 00:21
bsb night all 00:28
00:28 bsb left 00:32 scook0 joined 01:19 Amnesiac joined 01:55 Debolaz joined 02:21 eddddddddddddddd joined 02:40 Cryptic_K joined 02:44 SamB joined 03:31 bcornett joined 03:42 meppl joined 03:47 justatheory joined 04:05 feng joined
imperator evenin' 04:05
04:25 Jooon_ joined 04:37 imperator left
svnbot6 r8753 | aufrank++ | parrot no longer uses $PARROT_PATH/lib/blib/lib/libparrot.a 04:54
r8753 | aufrank++ | it now uses $PARROT_PATH/blib/lib/libparrot.a
r8753 | aufrank++ | changed Makefile.PL to reflect new location of libparrot.a
05:02 kcwu_ is now known as kcwu, aufrank joined
aufrank hey folks 05:02
question about Makefile.PL 05:04
why do we insert the string 'optc' into some of the flags?
regardless of the answer, as it's written in Makefile.PL it doesn't always work 05:05
my include flag went from parrot-local to parrot-optc-local
the problem's on line 326... s/-/-optc-/g 05:07
actually, any of those substitutions in the optc section would foul up my path 05:12
my parrot checkout doesn't have any optc directories in it-- why is that section in there?
if I knew what that section was supposed to do I would change it myself 05:16
but I don't
so instead I'm off to bed
05:17 aufrank joined 05:36 scook0 joined 05:42 putter joined
putter aufrank: ping? 05:42
aufrank: -optc and -optl are ghc "meta"?options which determine which compilation phase the attached option gets applied to. -optc-foo gives the C compiler -foo, -optl-foo gives the linker -foo. The modification regexp apparently assumes "-"'s are not in the middle of things. I'll make it more picky. Thanks for the catch. 05:49
aufrank++
05:54 brain` joined 05:55 Medvekoma joined 05:57 vel__ joined 06:04 elmex joined 06:16 vel__ left
svnbot6 r8754 | putter++ | Makefile.PL - C compiler and linker options are passed through ghc by prepending -optc and -optl. The s/// which does this is now more careful. Options (eg paths) with embedded dashes ("-"), should now work. Options with embedded spaces will still not. aufrank++ 06:25
putter & 06:30
06:56 GeJ joined
tewk make smoke seem to be hanging in ./ext/Span/t/span.t 06:59
GeJ greetings all 07:00
07:00 nothingmuch joined
nothingmuch morning 07:06
07:08 petdance joined 07:09 petdance left
GeJ morning nm 07:14
nothingmuch -hola 07:24
en.wikipedia.org/wiki/Horus#Conquerer_of_Set 07:25
egyptian porno
my conclusion:
if you masturbate on food you are a dominant god
oh, and that semen can talk 07:26
07:26 rantanplan_ joined
dduncan I've been reading some good stuff, and apparently the word "parameter" and "argument" mean 2 distinct things, while people often think them synonyms 07:33
I'll have a look through some of our documentation in case it isn't using the correct terms 07:34
nothingmuch parameter is a noun
argument is an adjective
but sometimes for some people parameter isa argument
dduncan in the context I refer to, they are both nouns
07:35 kane_ joined
nothingmuch please explain then =) 07:35
dduncan the parameter is what an operator is defined in terms of, and an argument is the value you provide when you invoke that operator
eg, with "method foo ($bar) { ... } 07:36
$bar is a parameter
nothingmuch oh
dduncan when you invoke that, like with $result = foo(3)
then the '3' is an argument
nothingmuch declaration vs runtime
aye
dduncan declaration vs invocation 07:37
nothingmuch well, saying "has two parameters" or "receives two arguments" is synonimous, IMHO
or at least synonymous enough that I'm happy
because both talk about the function's prototype
dduncan they are connected, but it wouldn't hurt to use the right words in the right places
nothingmuch saying that a function "has two arguments" is kinda silly though
dduncan in particular, the Perl 6 synopsis, the official design documents, should use the correct terms, if they aren't already
07:38 iblechbot joined
dduncan I'm going to look up S4, for example ... 07:38
svnbot6 r8755 | putter++ | Improved testing for let() and temp() on array and hash elements. 07:58
r8755 | putter++ | t/var/let.t: Uncommented test.
r8755 | putter++ | t/var/temp.t: Rewrapped the parsefail eval()s as it was unclear they could ever work (ie, if eval()s are a scope for temp()). The tests now show up as skips instead of as :todo<feature>s.
r8755 | putter++ | * Todo: additional tests for let() - exception, successful block exit, etc. Just copy the scalar cases.
07:59 Medvekoma joined 08:19 dduncan joined 08:20 pfenwick left
svnbot6 r8756 | putter++ | t/rules/from_perl6_rules/subrule.t - Un:todo<>ed 4 working tests. 08:20
r8756 | putter++ | * Todo: There are 15 more in t/rules/from_perl6_rules/capture.t. Easy pickings for someone! :) Just ./pugs -Iblib6/lib t/rules/from_perl6_rules/capture.t , then remove the :todo<>s from tests which are now ok .
dduncan following what I said shortly ago, it appears S6 (I said S4 by mistake) is using the terms 'parameter' and 'argument' correctly, and making the distinctions
the synopsis are the most important documents to get this right 08:21
08:24 bsb joined
lypanov wakes up 08:26
dduncan I'm going to do the opposite soon 08:27
half-past midnight here
08:40 r0nny joined 08:41 elmex joined 08:52 nnunley joined
scook0 dduncan: btw, I've also heard "actual parameter" as a synonym for "argument", with "parameter" being refined to "formal parameter" 08:54
but I prefer argument/parameter myself
theorbtwo I prefer just not worrying; most of the time it's perfectly clear what you mean when you say it.
scook0 theorbtwo: I agree that most of the time it doesn't matter, but for written documentation you might as well take the time to be pedantic 08:57
(a minor mistake spoken aloud rarely causes harm, because few will even notice -- whereas a minor mistake written down may be read many times) 08:59
09:05 myren joined
myren where is the parrot channel? #parrot has one person, and they're not even an op 09:06
wolverian myren, it's on the magnet network, irc.perl.org
myren alright, thanks 09:08
09:09 putter joined
putter New smoke is up. r8754 under repository / linux. m19s28.vlinux.de/iblech/stuff/pugs-...19dc9.html 09:10
clkao so jsperl5 smoke coming... at rules/ now
s/so/new
putter Completely random observation: it looks like try/fails take about 1 ms. 09:11
clkao++
Good hunting, and good night. &
09:14 putter joined
putter btw - i suspect t/pir/ should be moved to t_disabled. it's all failing, and that's for the next release anyway. 09:14
We dont have any kind of release prep doc. Irc is our blackboard. So if you look at something, even if you get stuck, you can mention whatever you learned. Thus benefiting from each otehrs work, sense of activity, etc. 09:16
wee hours of the morn. 'night &
09:20 bsb left 09:26 kanru joined 09:36 \xe6var joined
gaal putter: it fails because there's no pil exe in your pugs root; I was fixing that but ran into weird problems with scope of sub rebinding. 09:38
09:38 myren left
gaal actually thanks for reminding me; unless I'm doing something wrong this may be indicative of a bug. 09:38
audrey: when you have a cycle, let's revisit that? sial.org/pbot/15479 09:39
svnbot6 r8757 | Darren_Duncan++ | r2080@Darren-Duncans-Computer: darrenduncan | 2006-01-19 01:47:45 -0800 09:51
r8757 | Darren_Duncan++ | /ext/Rosetta : updated the DESCRIPTION pod of [Rosetta.pm, Model.pm, Language.pod] to mention Tutorial D and otherwise be better clarified
dduncan I also have another commit to make that will correct usage of 'parameter' vs 'argument', which I'll do tomorrow
09:59 christo joined, \xe6var joined
ingy hcchien: hola 10:04
hcchien ingy: will you be available to attend the osdc.tw?
ingy when is it? 10:05
hcchien april 8-9, after yapc.asia
ingy yes, I'll be there
hcchien ha, great. 10:06
ingy :)
hcchien members of chupei.pm 10:07
10:24 elmex joined 10:38 iblechbot joined 10:40 nothingmuch joined
nothingmuch see you guys in 5 days 10:40
nothingmuch is going hiking in an hour 10:41
10:43 bsb joined 10:49 G2 joined
ingy nothingmuch! 11:00
nothingmuch ingy: ! 11:01
how was playing with me yesterday? 11:02
www.defectiveyeti.com/archives/001561.html
ingy you are going hiking for 5 days?
11:29 knewt_ is now known as knewt 11:38 christo_ joined
audreyt greetings Ī».camel :) 11:51
hm, that \ sign seems to not get through for some reason
ah, it did, it's just my display charset. 11:52
putter++ # releng
xinming greetings, audreyt :-) 11:56
audreyt: hmm, Is Chinese new year coming soon in TaiWan?
audreyt xinming: yup :) 11:57
svnbot6 r8758 | audreyt++ | * correct t/oo/roles/conflicts.t syntax so it now passes properly. 11:58
nothingmuch ingy: yes 12:03
audreyt: i saw it too
perhaps screen is not under -U?
audreyt nod 12:05
nothingmuch where is my ride =( 12:06
12:06 iblechbot joined 12:23 christo_ left 12:25 chris2 joined
nothingmuch will be back on tuesday & 12:30
12:52 penk joined 13:24 kolibrie joined 13:27 elmex joined 13:54 hcarty joined 14:00 mkirank joined 14:07 Limbic_Region joined, nnunley joined
mkirank What will be the perl6 equivalent code for the following Java code 14:22
String keyString = "0123456789ABCDEF0123456789ABCDEF"; byte key[] = new BigInteger(keyString, 16).toByteArray();
14:23 mncharity joined, mncharity is now known as putter 14:25 hcarty left
pasteling "putter" at 66.30.119.55 pasted "A strace -v -f -F tale of the the last moments ./pugs -e '"a" ~~ /a/' (embedded, FC3, amd64)" (15 lines, 1.2K) at sial.org/pbot/15518 14:26
14:29 arguile joined
putter mkirank: perhaps something like byte @key = :16<0123456789ABCDEF0123456789ABCDEF>.unpack("C*"); 14:35
meppl gugu 14:36
rafl leo_: Plan B results in various test failures :-(
Hm.. wrong channel, but leo_ is here anyway.. :-) 14:37
leo_ yup 14:39
rafl leo_: When can we expect mmd stuff to be rewritten? 14:40
leo_ depends very much on acceptance of interfaces.pod
rafl leo_: Where can I find that document? 14:43
leo_ on feather ~lt/dev-doc 14:44
rafl OK, reading. Why isn't it in the parrot repo? 14:45
aufrank putter++ for fixing the bug I found last night 14:46
leo_ I'm waiting for chip to approve it
putter audreyt: re rules, with PGE coming along, aside from getting the pugs-side rules namespace working, I wondered if the next big push could be "the real thing"? Eg, "a|\s" --> a|<rxbackslash:<w>> --> rxmetachar:<|>(rxmumble('a'),..) --> try{ $/.next eq 'a' ... Ie, pattern parsed to ast, ast emits p6, p6 does normal macro expansion. 4. Profit! ;) 14:48
aufrank: :)
aufrank I woulda done it but I don't know much about ghc compilation
I could tell what was wrong, but didn't know what was write :[ 14:49
s/write/right/
putter aufrank: I was actually there (at those lines) within the last few days (adding rpath). I did a more picky regex for that, and considered modifying the others, but thought it might break things, so didnt. :( 14:51
putter really wants a development environment where annotations show up next too the source file. So one can flag some lines in passing "err, is this quite right?", flagging it for someone else to look at. Or to share design motivation, etc, without cluttering the code itself. 14:53
14:53 rodi joined
aufrank big day today-- our department is hiring new faculty and today's the first candidate's job talk 14:55
exciting stuff
Debolaz hopes perl 6 gets a more consistent module framework than perl 5 had. 14:56
putter audreyt: I agree a rules-ish regex library would be a nice improvement on the ones currently just doing p5 behavior. But perhaps one doesn't want to use it for pugs itself - much of the neatness of p6 rules is how seamlessly it integrates with the rest of p6.
Rules basically seem to be the first specced p6 embedded domain-specific sub language. (is there cleaner jargon for that?) I'd appreciate your thoughts. ;) 14:58
aufrank: does your institution have a tradition of "asking the hard questions", ie, of being polite, but no holds barred? Or the usual "the audience things the speaker is missing the point, but is too "polite" to say anything"? ;) The first way is a lot more fun. 15:01
15:02 lisppaste3 joined
putter <speaker gives a talk on mondo analysis of C code> someone asks "so, the result of all these man years of effort and insights, is to almost, but not quite, compensate for C having a lousy type system?" <speaker pauses, looks a bit taken aback, smiles> "yes". :) 15:04
Juerd Simple questions are usually the hardest questions. 15:05
Complex questions usually turn out to be easy.
putter (maybe it was "C not having a real type system"...)
Juerd "Why?" Is a very simple question, but terrible to have to answer :) 15:06
aufrank putter: I don't know yet. I'm a second year grad student, so this is my first time seeing a high-stakes talk 15:08
in other talks, I've seen it go both ways 15:09
putter Juerd: Well, I'll agree with the first half anyway. :) The question "what #rgb should I use to color in these circles representing stars?" ended up requiring primary research. The usual astronomy text/professor answers were not just missing, but wrong. 2 year old describes a ball - size and color. Nice to know astronomy as a field was working towards getting 1/2 credit on a toddler's question. Sigh. 15:10
aufrank actually, the worst is when someone thinks there's a point the speaker should make, and asks leading questions to try to get them to realize the correctness of that point and make it for themselves
Juerd putter: RGB, color, circles, stars, representation 15:11
putter: That's a rather complex question.
putter Juerd: re "Why?", aww, I always loved those. ;) A prompting to do deep analysis of something you usually dont pay attention to. 15:12
Juerd putter: A complex question usually has a detailed specification of the expected answer. Here: a colour, expressed in #RGB.
Limbic_Region believes it is likely an urban legend but heard a story about this notrious difficult philosophy professor who seldom gave good marks handed out the final exam with a single question "Why?" where the only student to get an A wrote a 2 word answer "Why not"
putter aufrank: ah. eeps, I haven't seen that one.
LR: lol 15:13
Juerd: hmm, ok. I was thinking of the simple question as "What colour are stars?". 15:14
The errors were on a scale of "yellow" vs "white", rather than in the details of particular pixel values.
15:17 BakedB_ joined 15:19 joepurl joined
putter Ahem. Can I have everyone's attention please. <quite descends, audience attentive> 15:26
We are trying to get a release out the door. Among other things, this will let us start the switch to the new piln runcore.
But first we need to get the release out the door!
Some errors look to require lambda folk and haskell work.
But others clearly require only a keyboard, sed, and a primate.
capturet comes to mind.
My I have a primate volunteer from the audience please?
Thank you!
s|capturet|t/rules/from_perl6_rules/capture.t| 15:27
:)
tewk putter: I'm a primate volunteer 15:29
paste?
putter heart is gladdened 15:30
tewk: paste? do you have commit bits yet?
putter smile is edged with confusion 15:31
Just ./pugs -Iblib6/lib t/rules/from_perl6_rules/capture.t , then remove the :todo<>s from tests which are now ok .
pasteling "tewk" at 71.32.238.88 pasted "Dual G5 2Gig RAM config, build and smoke times" (26 lines, 391B) at sial.org/pbot/15521
aufrank putter: I could show my simian side
I might still need hand-holding in some cases, though 15:32
tewk putter: tewk has a commit bit
aufrank too 15:33
Juerd Is there anyone here without committer bit? ;)
putter craves tewk's machine. <invoke Homer-esqe drool> "oohhh, commutes... ahhhhh"
tewk putter: well I finally got the env set up so, I can run more time test / profiling 15:34
Juerd: Pretty much if you show up twice your in :) 15:35
putter doh. s/commutes/computes/. ;) bit commuting: memory to cache to registers to cache to registers to cache to memory to... "it's just a rat race, always the same old thing" - 0xDeadBeef
Juerd tewk: s/your/you're/
aufrank ok, I'm off to the office 15:38
commutes &
putter twek: do you know what the longest running test is? I was unsure what to set my ulimit -St to. Used 1000 (15+ minutes), but that looks like a waste. (ulimit is a bash command which limits all child processes' cpu use, catching those ext/ runaways. so ulimit, and then make smoke.) 15:39
gaal putter: check your tests.yml
15:39 typester joined
putter aufrank: & I'm sure the smoke will have something bannana-ish. Will look for low hanging fruit. 15:40
gaal (and rehi.)
15:40 Eimi joined
putter Todo: * find low hanging smoked bananas for the primate volunteers. 15:40
tewk PUGS_SMOKE_EXCLUDE_EXT="1"
23:50 < tewk> make smoke seem to be hanging in ./ext/Span/t/span.t 15:41
pugs.blogs.com/pugs/2006/01/random_recaps.html
15:44 rantanplan_ joined
tewk putter: ./ext/Span/t/span.t never seems to finish 15:45
putter PUGS_SMOKE_EXCLUDE_EXT++ thanks. though sometimes you want to run the whole thing, but without worrying about watching and hand killing processes. ulimit is great then. 15:46
gaal: why am I looking at my tests.yml? 15:49
gaal putter: it has timing information for test cases.
"time" is either time started or time ended, I forget :)
putter tewk: I was thinking of the "longest running self-terminating" test. ;) yes, span.t needs to be looked at... 15:50
gaal: I didnt see per-test info, just an aggregate time. Am I missing it? 15:51
gaal it's a timestamp
sec brb
putter looks in the smoke room for bananas... 15:54
but first, using the nice new(?) CPU lines in the make smoke log output, it looks like t/rules/from_perl6_rules/stdrules.t is the longest running test. It and t/pugsrun/09-dash-uppercase-c.t are 2x+ outliers. With ext/Span/t/span.t of course non-terminating. 15:59
Upshot is, you just time t/rules/from_perl6_rules/stdrules.t, add margin, and you have a cpu seconds resource limit for make smoke. :) 16:00
tewk putter: where is the smoke log? 16:01
putter make smoke > log_4smoke 2>&1 ;)
grep CPU log_4smoke |perl -ne '/(\d+\.\d+) CPU/;print $1,"\n"'|sort -n
16:08 stevan_ joined
putter Ok, looking at smoke m19s28.vlinux.de/iblech/stuff/pugs-...19dc9.html , or grep succeed in the make test output, 16:09
16:10 vel__ joined
putter the unexpected successes, tender smoked bananas, are light orange, 16:10
tewk t/rules/from_perl6_rules/capture.t is segfaulting on me, in parrot. Should I remove embedded support for parrot or rebuild parrot clean? 16:12
putter the bananas in subrule.t have been eaten already, there are ~15 in capture.t, and one each in perl.t and conflicts.t. happy browsing. once tempted, please note some of the red fruit is also probably edible. 16:13
Limbic_Region tewk - remember that pugs targets the latest release of parrot and not necessarily the latest in the source tree
it may be that your Parrot is too new
putter or too old, or... just not working embedded (like mine)
tewk my parrot is up to date as of minutes ago. 16:14
putter ah, see LR's "may be too new". you might try the release (0.4.1). but note that's segfaulting on me. "a" ~~ /a/, boom. strace pasted above for anyone who would like to pursue. 16:15
this may be a "embedding is perhaps not a good idea" pugs release. 16:16
tewk putter: will the tests run without embedding, I assume so. 16:17
putter yes
tewk removes embedding support
putter looks at builtins and datatypes first, as failures there tend to be the source of other failures as well... 16:20
the elems.t failures are caused by something being wrong with the type system. Prim's are not obeying the argument type restrictions given at the bottom of Prim.hs. The elems failures themselves are unlikely to cause problems elsewhere. Though perhaps type-based dispatch is more extensively broken? Skipping... 16:23
splice.t is the same.
16:26 bsb_ joined 16:27 eric256 joined
putter my.t suggest my parsing and scope restrictions are broken. "my, something broke my my :(". looking at it... anyone been here before? comments? 16:27
16:28 bernhard joined
putter gaal: it might be worth knocking off some of the non-pil test failures first, as they may perhaps be related to the pil problems? 16:29
16:29 eric256 left 16:31 aufrank joined
putter wants video of audreyt debugging pugs. opportunity to see more efficient ways of doing things. 16:31
aufrank fg
16:32 justatheory joined
gaal hi again -- sorry, putter, something's come up and I have to punt for now :( 16:33
aufrank what was gaal's job? 16:34
svnbot6 r8759 | audreyt++ | * arrays/elems.t: :todo<bug> the $scalar.elems case for now.
aufrank maybe I can do it 16:35
putter gaal: np :/ 16:36
tewk I assume I need to rebuild clean after removin support for parrot embedding. 22 minutes :( 16:37
putter aufrank: gaal was looking into the pil failures, but I think that's likely too familiarity intensive to hand off. let's see...
tewk heads to the shower while pugs rebuilds 16:39
svnbot6 r8760 | audreyt++ | * builtins/perl.t: Remove a passed TODO test.
putter oh my, the t/syntax/parsing/numbers.t :2<101010> tests were added by lwall. Hmm, ok, maybe implement rather than :todo'ing. 16:40
? 16:41
aufrank: what is your haskell/p6/p5 skill profile look like?
audreyt goes to sleep and reminds herself that she only has to survive another one $job day 16:42
svnbot6 r8761 | audreyt++ | * Get smoke running again by disabling t/span.t temporarily.
putter tewk: I'm never sure when I need to rebuild from scratch or not. I tend to keep an extra build or two, built in background, so I have something to break attempting the "or not".
Wish this kind of info was in the hacking pod. 16:43
(may be, been a while since I looked)
good night audreyt & 16:44
tewk putter: hacking.pod, can't find it in svn. 16:46
I seem to remember something like that on the web
aufrank putter: haskell--/p6++/p5++
putter anyone with some haskell-fu but not necessarily much knowledge of pugs want to add a... ruleAdverbialNumber say, to Parser.hs, to handle larry's :2<1010> etc cases in t/syntax/parsing/numbers.t ? 16:47
aufrank: :) 16:48
aufrank oh my, 15 new messages in p6l! are any of them larry on partial instantiation? 16:51
putter gaal's long standing "can do embedded on MW C" sounds like a Makefile.PL issue, but non-essential Makefile.PL fiddling should probably wait until after the release. The release-specific testing isnt robust enough to casually discard "its been working for n weeks".
ooo... (putter shakes head, goes back to releng...) 16:52
aufrank: re p6++, there is always docs work. I know docs/quickref/namespace went obsolete and could be updated. but that's not releng... hmm... 16:56
oh, it would be nice if S29draft.pod could be sanity checked. Some of the signatures and implementations had bugs. Could eyeball, and/or check against p6l. Hmm, but that's a just-post-release task. hmm... 16:58
putter notes again the absence of a TASKS list....
17:00 Lartuv joined
putter thinks, actually, better address the pair.t failures before messing with a new form of adverbs... 17:00
aufrank: eyeball the ext/ failures? see if any are the result of changes? rt.openfoundry.org/Foundry/Project/...rowse/ext/ . "history of this directory" is useful. 17:02
my fuzzy and no doubt hole-y impression is that the release is coming down to haskell problems... could be wrong though... 17:03
17:06 petdance joined 17:07 petdance left
putter gaal: re commit note on pairs.t ("27 tests unexpectedly succeeded. Expect more of them.")... when? ;) 17:12
putter reads up on the change in named parameter (almost said argument dduncan++:) syntax www.nntp.perl.org/group/perl.perl6....uage/23820 iblech++ 17:13
iblech: did the VCode changes occur? ie, is this all known to be broken, or was it working and something happend since? 17:15
17:17 hexmode joined
putter dev.perl.org/perl6/doc/design/syn/S06.html 17:24
tewk putter: ok I can run t/rules/from_perl6_rules/capture.t now what, I don't see any unexpected Passes 17:27
Juerd There's a release-y/real easy athmosphere around here :) 17:31
17:32 marmic joined
putter it would be interesting to know from a scan of ext/ whether/howmuch they result from known problems. ie, passing pairs and named arguments, my escapes from scope, perhaps binding scalars (though that may also be a pair/sub problem), imports (which was flakey, may be fixed), similarly binding attributes, 17:33
tewk: no lines with both ok and TODO towards the top?
Juerd: :) 17:34
17:34 bsb_ left 17:35 bsb_ joined
putter wants piln. putter has been waiting for piln since... May? June? so close I can taste it. release, then piln. joy. ;) 17:35
tewk putter: got it, fixing
putter s/piln/pil2/ but same motivation 17:36
k
tewk: I dont know why those dont stand out. Earlier I looked back and forth through the output, knowing they had to be there, and only found them by grep'ing for them. 17:37
tewk I didn't know what it look for, grep is my friend. 17:38
putter One task for p6++ folks is to look at the smoke, mouse over and find tests, especially failing ones, which have only [stub] for a documentation string, and write one. 17:41
theorbtwo Is there a current smoke on the web somewhere? 17:43
putter The tests at the bottom of t/builtins/undef.t , "tests due to apparent bugs", should all be :todo<bug>ed I think.
oh, never mind! I'm confused. undef.t is exploding. need to find out why. 17:45
(bottom of test output != bottom of test file)
Could someone look at undef.t and see what's going boom? tnx 17:47
tewk Why si svn ci so slow? 17:48
17:50 Ovid joined
putter rt.openfoundry.org is sometimes slowish 17:51
is an empty {} a hash or a block? 17:53
svnbot6 r8762 | tewk++ | t/rules/from_perl6_rules/capture.t - Removed TODOS on passing tests.
putter tewk++ :) 17:54
anyone around who can give an authoritative answer?
theorbtwo putter: I'd expect a hash, since it's more useful. 17:55
tewk putter: that was really pretty simple once I got embedded parrot out of the way.
theorbtwo ...at least unless the want is otherwise, perhaps...
putter If not, that's another todo task - google (Snn? p6l?) to find out. eh, I guess default is the test is right. I'll edit Parser.hs. 17:56
theorbtwo The test says Hash?
putter The test expects Block. Is getting Hash. The Parser.hs code which was saying "is this Hash-like" was completely broken, and the repair may have changed its behavior (which was sensitive to where annotations happened to be applied). So... an authoritative answer would be great. 17:58
robkinyon putter: Doesn't that depend on context?
putter thought I remembered something about {;} 17:59
robkinyon: dont think so. the implementation is "parse it as a block, look at the resulting ast, and if that can be interpreted as a hash, do so". someone said something like this is the spec approach, rather than mere implementation. 18:00
theorbtwo I think that if, as a block, it starts with a pair or a list of pairs, then it's a hash. 18:01
putter thus the {;} for empty block. which seems the right huffman too. and {,} wouldn't work to go the other way, so... I'm wondering if the test needs to be overruled
robkinyon so blocks can be interpreted as a hash?
putter err, syntax wise. 18:02
theorbtwo ...but I'd really prefer {} be a hash. It's a pretty common idiom.
robkinyon I think that {} => Hash and {;} for Block is nice;
{;} is even not that bad to type.
theorbtwo ...and an empty hash is, I think, /far/ more common then an empty Block.
putter I don't disagree. but need spec to overrule test. would be nice if someone looked... ;)
theorbtwo I think it needs to be p6l'd.
robkinyon I'm not making a statement re: the current discussion, but I think a method needs to be added to Hash -> Hash.empty() and Block.empty() (assuming that Block is a class) 18:03
SamB {;} is what you say when you want to talk about Haskell code that uses braces and semicolons rather than the layout rule ;-)
putter lol 18:04
theorbtwo sub {} is much clearer then {;}, I think... and easier to type, because there's not an unshifted char between two shifted ones.
putter robkinyon: neat idea. though .new may be the equivalent
ohhh. sorry theorbtwo... 18:05
I was thinking context as in Cxt, singular vs plural, etc.
robkinyon .empty may be appropriate for an alias to .new that takes no params
putter yes, the sub {} is fine. its only in places where both can occur that there is a disambiguation issue. sorry. 18:06
putter pauses to picture what p6 code would look like using layout...
theorbtwo It's not uncommon that both are possible. my $x = {} 18:07
putter yes. and that's exactly the test case at hand. ;)
t/builtins/ref.t expects Block 18:08
18:08 G2 joined
theorbtwo I think it agrees with spec, and spec is wrong. 18:08
SamB putter: you *don't* want the layout rule 18:10
putter focuses on {} because it seems bitesized. fixing argument lists + named arguments + pair passing may be out of my envelope...
SamB part of the the rule is "when there would otherwise be a parse error,"
putter LOL :)
theorbtwo SamB: Do you know that the probability of a random string of bytes being a valid perl program increases with length? 18:11
putter Ok, it looks like there is one big cluster of failure, and then some little bits. Big chunk is argument passing, especially wrt named parameters, pair arguments (dduncan++), and first class argument lists. Bits include my variables escaping from scope, and ... 18:14
18:17 \xe6var joined 18:22 bsb_ left
putter Ha! S06 {...} is always a block. However, if it is completely empty or consists of a single list, the first element of which is either a hash or a pair, it is executed immediately to compose a hash reference. 18:27
emphasis on _empty_
theorbtwo Well done!
SamB theorbtwo: yes! 18:28
theorbtwo: I read some page about that once
svnbot6 r8763 | putter++ | t/builtins/ref.t Corrected test. $x = {}; is now a Hash, per S06. 18:33
putter so I was wrong. that was a fix which simply required looking at the test file, which pointed to S06 (a now non-existent section), skimming S06, and updating the test. No haskell-fu required at all.
:)
SamB: apropos the, if you have a foo:<> with an empty name, it becomes a default for that category (sort of like a multi, but with declaration order sensitivity... hmm, that's something to think more about..). soo.... 18:35
In p6, a parse error is just a way of calling something:<> ! :) 18:36
tewk putter: $<matches><a> is the undef.t problem. what is that suppose to mean? 18:40
$<matches><a> that is 18:41
18:43 Jooon_ is now known as Jooon
putter $<matches> is an alias for $/<matches> . my fuzzy recollection is it has magic meaning, rather 18:46
than being just $/<foo> from a /<foo>/ match. But I could be wrong.
hmm... looking...
putter thinks is so nice when reading p6l to see larry saying so many things I agree with... warm fuzzies. 18:47
theorbtwo BTW: foo:<> being a default for the foo parse state isn't random, it comes out of the longest-token rule. 18:50
putter tewk: if you run "a=b\nc=d\n" ~~ / $<matches> := [ (\w) = \N+ ]* / you get a match object which doesnt have a <matches> entry. (So, <matches> isnt magic, just something set above in the regexp). That obviously isnt what the code is expecting. And the mess of ),),), make me wonder if this is another pairs issue...
?eval 3
theorbtwo foo:<> will always match, but is also always shortest and thus lowest-priority. 18:51
18:51 evalbot_8745 is now known as evalbot_8763
evalbot_8763 3 18:51
putter ?eval "a" ~~ /a/
Juerd I find it scary when Larry says things and I agree. It usually means he has convinced me, and that could be a personal weakness of me :)
evalbot_8763 Match.new( ok => bool::true, from => 0, to => 1, str => "a", sub_pos => (), sub_named => {} )
theorbtwo I find it scary when I suggest something and Larry takes it up.
tewk putter: I'll keep looking, that helps
theorbtwo Larry's supposed to be smarter then me!
putter ?eval "a" ~~ /$<x> := (a)/ 18:52
Juerd theorbtwo: I don't think he is, though.
tewk I got this test passing -> is eval(':10<99>'), 99, "Adverbial string form of dec number works";
evalbot_8763 Match.new( ok => bool::true, from => 0, to => 1, str => "a", sub_pos => (Match.new( ok => bool::true, from => 0, to => 1, str => "a", sub_pos => (), sub_named => {} ),), sub_named => {} )
putter yeah, that's just wrong.
Juerd theorbtwo: He's a genius, that's for sure, but it only means he has the right balance between creativity and intelligence :)
putter let's see...
Juerd theorbtwo: It's not only about smartness.
putter ?eval rule x { a } "a" ~~ /<x>/ 18:53
evalbot_8763 Match.new( ok => bool::true, from => 0, to => 1, str => "a", sub_pos => (), sub_named => { "x" => Match.new( ok => bool::true, from => 0, to => 1, str => "a", sub_pos => (), sub_named => {} ) } )
putter so... I forget what it's called... binding capture (not!) isnt working, but subrule capture is. 18:54
theorbtwo grrs at nntp.x.perl.org.
Work!
putter Juerd, theorbtwo: taste is also a big one. 18:55
Juerd putter: I disagree.
Perl by itself is a taste group we're all in :)
There's little further taste to specify.
putter This particular ... disagree, really, how?
theorbtwo I disagree with your disagreement.
Juerd It's hard to express
theorbtwo There's lots of different sorts of perl programmer -- there's more then one way to be it. 18:56
Juerd I've had a feeling the last few years that the current group of people who love Perl and Perl 6 have a sense of taste, a sense of good design, that just fits the way humans think. And that many others, typically people who don't like perl and perl 6, have very different taste.
theorbtwo Hm, I didn't know develooper did the ntp pool.
gaal rehi (sorta) 19:00
tewk: fwiw, you could have deleted a few objects from dist/build and Parrot.hs; that would have triggered a rebuild from Parrot.hsc and saved you the full rebuild 19:01
putter: by "Expect more of them" I meant don't expect them to fail :)
tewk gaal: Someday I will know enough to be able to know what those few objects would be :) 19:03
gaal == today! :-) dist/build/src/Pugs/Embed* and dist/build/src/Pugs/Embed/* 19:04
but yeah, sorting out build stuff takes low blood levels in the coffee
putter I agree perl has a distinct flavor. Low hanging smoked bananas aside. (And yes, I'll have you know the US Supreme Court has ruled that bananas are a fruit. Or was it a vegetable? One or the other. That was the issue of the case.) Anyway... 19:07
But even within that flavor, you'll have to admit some apply it with notable taste, others with notable lack thereof, and the great spread in between. no?
I'm not saying perl, especially at its best, isn't an acquired taste. Just that taste is always an important part of system design.
Anyway, my particular happiness a moment ago was seeing Larry both well aware of the embedded language potential of p6, and thinking about / designing for the social difficulties which may occur.
tewk: ./parrot compilers/pge/demo.pir doesnt seem to know about := . So there may be hoop jumping pugs-side. Keep open the posibility of "punt to audreyt". As -Ofun may require frustration avoidance.
It's quiet, too quiet. I wonder if I still have connectivity...
gaal putter: moose!
tewk Ok given :10<8888> I need to be able to parse digits, Parser/Number.hs uses a function decimalLiteral = number 10 digit, should I export that and use it in Parser.h? I'm going to get bases 2,8,10,16 working first, before moving on to larrys :(pick some number between 11 and 10 + 26)<11> 19:08
putter hi gaal! 19:09
gaal: re more of them, there is still brokeness, so I was wondering whether it was "known and going away". guess not :) 19:10
theorbtwo I'm not sure that doing bases 2,8,10,16 first will actually make arbitrary bases any easier.
gaal putter: sorry for the misleading moosage :)
tewk I'm using putter going to TODO the undef.t one for now Ok ?
Juerd putter: Yes, but I think those with lack thereof aren't in the Perl 6 community much.
putter: Which is good for the final result.
putter is still confused by gaal's first herbavor reference... not sure moosage clears it up or not...:) 19:11
gaal tewk: doesn't haskell have a base conversion function in the prelude? it might!
Juerd putter: Re the quiet - I'm backlogging for $job. Status reports are as hard as changelogs, when not maintained.
gaal do we have a learning bot here? 19:12
theorbtwo Anyway, base 2/8/10/16 have simpiler ways to do that: 0b... 0o.... 0d.... 0x.....
Juerd And since I always write detailed status reports...
gaal is there :$b<$str> ? :)
Juerd theorbtwo: I wonder, though, do we get 0n($foo)123 too? 19:13
putter tewk: hmm... or parse it base 32 and and then validate the character set as a separate step... hmm...
Juerd gaal: Hm, same thing, different syntax.
gaal: My syntax is based on regex :nth()
putter tewk: todo bug sounds good
theorbtwo You can certianly do that with an eval STRING, but I don't think you can do that generally.
putter gaal: maybe a make clean_enough_for_embedding_change target? ;) 19:14
Juerd m&m's taste bad when they have been frozen. 19:15
Memo to self: don't leave candy in the car.
gaal putter: yes! more targets will no doubt help thing! :)
*things
Juerd putter: It's time for make wim. 19:16
gaal wow, leaving things in cars around here fries, not freezes them
Juerd Or make wiw.
tewk No, if a rerun of Makefile.PL doesn't have a parrot in PERL6_EMBED it should just rm the old objects from dist/build so it doesn't get linked in
gaal make $$$ fast
theorbtwo make win
Hm, I like frozen M&Ms.
gaal tewk: that's actually a cool idea. compare with Makefile.old and deduce what must be cleaned 19:17
tewk Does gaal volunteer ? 19:18
gaal so, putter, what's next?
tewk: heh no, I'm conserving sanity for now :)
putter gaal: re "sorry for the misleading moosage", it gave me a moment's hope. snif. 19:19
Juerd: hmm... I reread for the fourth time... you suggest ohhhh, the p6 community! got it.
re Status reporst, and not maintained, sigh, yes.
tewk: what gaal said... there is already code to handle 0x and, well decimal of course, and...
0b, so that's worth looking at.
tewk Quick haskell question, for debug I want to take two ints stringify them and concat the strings, so 1 2 becomes "1 2"
putter: Ok that just clicked
gaal tewk: intersperse " " map show intlist 19:20
tewk goes looking of 0b examples
SamB er
tewk gaal: thanks just what I needed
gaal uh, with a $ in there after the " "
theorbtwo 0b0 0b1 0b10 0b11 0b0.1 0b.1
gaal and probably there's somethign better than show :)
theorbtwo (The last two are both 0.5.)
SamB don't you also need a "concat $" at the beginning 19:21
?
gaal oh right :)
actually
tewk: I think there's a join util you can use that does that.
Juerd putter: Writing something that happened three days ago as if it just happened is hard.
SamB gaal: is there?
gaal SamB: in pugs
Juerd putter: Let alone things that actually happened a week ago
SamB oh.
gaal like we have "forM = flip . mapM" 19:22
(these little things are so useful :-)
putter Juerd: yes. I sometimes need notes to remember what I did yesterday. ;)
tewk Thanks, I think I can put something together now
SamB I was going to say, when I asked about the Haskell equivalent of Python's s.join() method, I was told to use intersperse and concat...
gaal looks 19:23
Juerd putter: I'm backlogging the notes, more or less :)
putter: The worst thing is that these reports need time information. Something I usually forget to keep.
I'm too busy thinking, coding, documenting, to watch the time spent to do so.
Fortenately, I have my laptop's syslog 19:24
putter really wants a collaborative editing environment. so I can look over tewk's sholder. and audreyt's. and gaal's. and... maybe I wouldn't get any work done...
Juerd putter: Like SEE?
gaal SamB: well, I looked and that util func isn't defined. I *thought* I remembered it... 19:25
putter pictures wall of monitors... a "perspective on productively programming people".
tewk putter: once we have perl6 we can build the collab thingy :)
putter there's actually an opensource ajax thing in progress...
re SEE, googling... 19:26
tewk src/Pugs/Lexer.hs has number which parses and does base transforms, I just needs to import it I guess.
putter .. Vatican: the Holy See, no,... putter realized he need more of search term... ;)
gaal find src -name \*.hs -o -name \*hsc | xargs grep 'concat.*inters'| wc -l 19:27
=> 26
theorbtwo subethaedit-- # osx-only closed-source
gobby++
19:27 rodi left
wolverian gobby is great. I just wish it'd be ported to gedit 19:27
tewk Parsec and the functions audrey has built on top of it rock. you gotta love between :)
wolverian (consolidation++) 19:28
tewk gobby++ I just got it with ports last night.
Juerd putter: You could try to persuade Perl 6 hackers to put up a webcam.
putter: SEE := SubEthaEdit
putter tewk: it looks like you will also need to export it. 19:29
tewk hmm, Parser/Number.hs uses it.
putter Juerd: ahhhhh. tnx
gaal is on skype 19:30
tewk maybe it is a different function
putter ?
Juerd Let's use tags :) 19:31
I mean
[tags] Let's use tags
:P
gaal putter: re: moose, forum2.org/moose/
putter tewk: one option is to clone charNum, strip is a bit, giving you something which parses the whole :\d+<\d+> construct. 19:33
s/strip is/strip it/
hmm... or not... 19:34
tewk Pugs/Rule/Token.hs number is what I want I think
line 352 19:35
yep
putter gaal: tnx. fyi, Dropping One for Science is NotFound, and Voyages of the Space Barrel, the MOO link is nogo. 19:36
k
gaal wow, that moo has been offline in a while.
s/in/for/
tewk Any problem with importing Pugs/Rule/Token.hs in Parser.h?
Anyone know of a klipper like tool of OS X ?
putter looking...
gaal hmmm, I found myself wondering about layering of the pugs sources a few times 19:37
but I don't know, tewk
tewk I think it will work Parser.hs imports Rule.Expr which is a peer to Rule.Token, one way to find out. 19:38
putter tewk: seem plausible. I'd make it as narrow an import as possible. 19:39
tewk I saw several versions of the function number all over the place, but that is the one that Parser/Number.hs uses.
19:40 Khisanth joined
putter ah. I'm not sure Rule.Expr is going to get your Rule.Token... 19:41
tewk putter: No I was just using Rule.Expre as reasoning that importing Rule.Token shouldn't be that off the wall, I will restrict the import. 19:42
putter wants a gobby minor-mode for emacs 19:44
tewk would have to give up vim or emacs 19:45
putter tewk: err, ??? 19:46
tewk s/or/for/
putter ah
19:46 hcarty joined
putter emacs has a vi mode... ;) 19:46
theorbtwo Or we could all start using Yi, assuming yi is usable.
tewk I'm becoming a lambda head so I should probably just bite the bullet one of these days. 19:47
Have you seen slime for CLISP, it looks cool.
SamB theorbtwo: what? with no real hIDE? 19:48
putter re Yi, no just how hard would it be to do Yi+pugs for a p6 editor...? ;)
slime++
Odin- Yi? 19:49
putter google Yi editor (I dropped the link)
SamB Odin-: text editor in Haskell
Odin- Hm. 19:50
putter unclear from page (superficial look) how mature it is.
Odin- Any P6 editor would have to be extensible via P6, of course... :>
putter goes with saying. emacs may be an operating system, but what if you want your editor to, say, do your homework. p6 is clearly the way to go. ;) 19:51
Odin- Hmm. 19:52
Frankly, I'd like a P6-based emacs. ;)
putter want features => get releases out faster => ok, what's next releng wise?
putter was previously wondering how hard it would be to do a use Languages::Lisp::Emacs; front end. 19:53
tewk tewk is looking for an alphanumeric [a-z0-0]parser in Rules. 19:56
putter hmm... my smoke had an eval_yaml failure, but it works now. ok...
tewk tewk is looking for an alphanumeric [a-z0-0]+ parser in Rules.Token, anyone know of something like that?
putter looking... 19:57
tewk I could build one, but I'd rather reuse. 19:58
putter Parser.hs uses many alphaNum from Lexer...
tewk that will do, thanks 19:59
putter char ':'; base <- many digit; char '<'; rep <- many alphaNum; char '>'; ... ? 20:01
maybe
theorbtwo Ideally, you want that to be more complex then just alphaNum -- :2<0123> is not valid. 20:03
putter thus the ... ;) 20:04
gaal: re what to do, m19s28.vlinux.de/iblech/stuff/pugs-...19dc9.html There seems a big hunk of failure re subs, named parameters, pair arguments, and 1st class argument lists. But a 20:06
lot of the failures in operators/ look like they might perhaps be independent.
Parser does have an explicit fail function doesnt it? looking.. 20:07
ah, called fail :)
tewk Yeah I use fail.
theorbtwo: yeah I can refine alphaNumeric 20:08
putter hmm, though I was maybe thinking of something gentler. does fail simply trigger a backtrack, or does fail the parser? 20:09
either would be fine here, but in general...
gaal: oh, and the junction examples.t is failing. 20:11
SamB putter: depends on if someone put a "try" around it
putter s/the/a/
ah, thanks.
just like p6 :) 20:12
gaal putter: looking.
putter wants to try again building a try/fail based p6 regexp engine in p6 real soon now...
wolverian hm, python 2.5 has .assuming too :) (with a different name) 20:13
SamB putter: well, in Parsec try just backtracks to the beginning and fails if its argument fails ;-) 20:14
tewk Another stupid haskell question, I need a function for [Char] -> Integer 20:24
gaal tewk: do you know of hoogle? 20:25
SamB tewk: what shall it do?
gaal haskell.org/hoogle/
SamB and that isn't really a stupid question 20:26
gaal but maybe you just want "read" :)
tewk hoogle++ 20:27
putter openfoundry is now really out of it.
gaal haskell++ for allowing something like hoogle to be so useful
20:29 nnunley joined
SamB often my questions are too general for @hoogle to find me a function 20:29
tewk ?paste 20:30
gaal perlbot nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
gaal SamB: in that case I think you need the constant function "42"
tewk so why nopaste, I always forget the "no", does it come from no pasting in the channel? 20:31
gaal norwegian paste isn't it good?
theorbtwo gaal++
pasteling "tewk" at 71.32.238.88 pasted "Need [Char] -> Integer" (17 lines, 576B) at sial.org/pbot/15526 20:33
gaal putter: do you understand how class attributes work in pugs? 20:34
I'm looking at t/operators/binding/attributes.t - all the :=s are failing 20:36
20:36 Khisanth joined
gaal well, except the "our" one, which makes me thing it's in fact the one that isn't working correctly :) 20:36
putter ;)
gaal so, src/Pugs/Eval.hs:552 20:37
that findVarRef is failing
on "$.x"
putter note that my variables are escaping their scopes, (my.t) so there seems something amiss around there...
several of the failing files look like bind failures under the covers 20:38
gaal looks at my.t
putter wishes he had 1/4 of clue, and had kept notes while going through the test failures. sorry. 20:40
gaal I don't think the failures there are sope leakage, they look like a feature that hasn't been implemented at all yet
I seem to remember Audrey mentioning inline mys were hard 20:41
putter ah. ok. such things could be :todo<feature>ed.
let's see, where were some other bind failures...
gaal marking. 20:42
putter still can't svn up. bah. :( 20:44
gaal nor I svn ci.
putter any thoughts on pair args/named params/1st class arg lists? were there major changes, or is something little biting us? 20:46
I note the universe has an excess of trailing commas... 20:47
gaal putter: see r7622 and further "demagicalized pairs" work. I don't understand it, myself. 20:48
1st class arg lists is \()? that's pretty new I think.
putter k 20:49
t/syntax/pairs.t could use clearer doc strings.
ok, if I put off lunch much longer it will be dinner. 20:50
gaal is there a late equivalent for brunch? high tea doesn't sound nearly as nutritious as it should. 20:51
putter lol :)
putter pictures tiny little cookies nibbled with small cups of tea. all sterotype - no direct experience. 20:52
some labs apparently have nice afternoon teas. Berkeley CS??
ok, bbl & 20:53
20:54 stevan_ is now known as stevan
gaal (anyone by putter): are the tests in t/oo/methods/topic.t still pertinent? it's based on A12... 20:54
stevan!
s/by/but/
stevan hey gaal 20:58
stevan is currently busy in #lisp trying to get his LISP install working right
nnunley stevan: Which LISP, and which OS? 20:59
21:01 dduncan joined
stevan nnunley: OS X Tiger and i grabbed the OpenMCL Lispbox packages from gigamonkeys 21:03
21:10 kanru joined
nnunley Cool. Unfortunately,m not alot of experience with OpenMCL. I know that both clisp and sbcl compile and work under OSX. 21:11
Err, No experience with OpenMCL, that is.
Juerd stevan: Foo does Hash :)
nnunley Hrm. Would porting mburg/iburg over to pugs be a useful thing? 21:17
stevan Juerd: no, that would be wrong 21:19
Juerd: because if that was done automagically, then what if I ran into method conflicts with other roles I was importing 21:20
dduncan openfoundry seems achingly slow
stevan what about if my Foo needs a .keys, .values, .exists methods which do totally different things? the Hash methods get shadowed
Juerd: that is not a solution, trust me, I already thought that one through
Juerd stevan: It may not be a solution, but it is a step in the right direction, I think. 21:21
stevan: Maybe we just need a Perl5Scalar, which can't be a Perl 6 object. 21:22
stevan Juerd: how is it a step in the right direction?
Juerd stevan: More things work than without it.
stevan Juerd: S02 says "Perl 6 is an OO engine"
Juerd: what things work with what?
Juerd It can be an OO engine even without pure OO.
stevan Juerd: its not a purity issue really 21:23
Juerd Scalars definitely don't work like objects as we know objects from other languages.
stevan Juerd: some other language, well kinda
Juerd $bar = $foo; $bar = 3 doesn't change $foo's value. That's very un-object-like.
stevan Juerd: because that is not really what is happening there
there is some desugaring under the coverse
Juerd Maybe we have to accept that $foo and $bar aren't objects. 21:24
stevan a Scalar is a singular container
Juerd: if that is what @larry decres I will accept it
Juerd They can be used with OO syntax, for example $foo.uc, but they're not really objects.
stevan but until then,.. @larry has said "everything is an object"
Juerd Yes, he has.
stevan Juerd: in the Synopsis?
Juerd I think he was wrong when he said that, OR, that he didn't design the rest of the language according to that mantra.
I don't believe that in the Perl 6 design, excluding that one line in S02, everything is an object. 21:25
stevan Juerd: I agree with your second part :)
Juerd Alternatively, "Everything is an object" was just for competition with Python, where everything is an object, except when it's not.
stevan Juerd: well, this is all very fuzzy, meaning, we cant implement that without hacking things to peices 21:26
Juerd I understand.
This is something I've been worried about for a while.
stevan :)
there is little reason for bless to exist in my mind
Juerd In fact, rafl and I discussed it while walking in the Berlin snow.
stevan and there is even less reason why I would want to bless another object into a diferent class 21:27
Juerd Then I fear your mind excludes (semi-)automatic translation of Perl 5 programs.
stevan Juerd: nope
I dont exclude that, at all
Juerd stevan: If we get a Perl5Scalar type, it wouldn't be blessed into a class, but into a *package*, and circumvent all opaque OO stuff.
stevan but I dont think that Perl 6 should be crippled to make way for that
Juerd: Class.isa(Package) 21:28
Juerd Adding a feature doesn't cripple
stevan: Shhhh
stevan: Nobody needs to know :)
stevan Juerd: well, it is,.. no need to seperate them :)
but okay,.. I will go with your line of reasoning for a moment
what is a Perl5Scalar?
an unboxed type? 21:29
Juerd It's a
It's a scalar that behaves like a Perl 5 scalar
i.e. no methods on it, except when it's blessed
stevan ^Scalar.isa(Object) in Perl 6
there is no primative "scalar" in Perl 6
Juerd I doubt that. 21:30
stevan Juerd: why?
there are values
Juerd Because of what I just said: scalars, arrays and hashes don't quite behave like objects
stevan uhm,.. in perl 6 they do
@arr.elems()
Juerd Wait
stevan in S29 it states that this form: 21:31
Juerd The way I see @arr.elems() is: @arr is USED AS an object
Not @arr IS an object.
stevan delete %hash{key}
is transformed into this format by a macro:
21:31 \xe6var joined
stevan %hash.delete(key) 21:31
I would assume that @arr does the same thing
the "built-in function" syntax is just a macro to convert to the object syntax
Juerd Sure, but objects typically don't do special things in list context.
From my POV 21:32
stevan Juerd: in what language?
Juerd (The POV that is Perl 5)
stevan: What languages do you know that have list context? :)
I know Perl 5.
stevan yes, well Perl 5 is a very very very very small subset of the wide range of computer langauges available
Juerd Perl 6 is our topic of discussion, so not a valid argument.
stevan Juerd: list context is just sugar,..
Juerd In every language, an object is considered a single thing 21:33
In Perl, it is too
However, arrays and hashes are different
Also, objects typically have reference semantics: copy the object, get a copy of the reference
Scalars are different
\xe6var won't .delete on array do the same madness as in perl5?;) 21:34
i.e. @a = (1,2,3); undef $a[1]; // @a = (1, undef, 3) ...
stevan Juerd: Arrays, hashes and scalars can all be implemented as objects
Juerd I can live with "everything is an object", but then context and assignment would work very differently as a direct result, in my mind.
stevan: Implementation is different from language.
I expressed that as "arrays are *interfaces for* Array objects" 21:35
stevan Juerd: yes, but they must play nice together
Juerd stevan: Everything plays nicely together given well balanced abstraction.
stevan Juerd: method Array::postcircumfix:<[]> (^Array @a: Num $idx) { ... }
you dont need special "behaviors" for arrays at all
Juerd I hate natural languages. I can't use them to express structures that I have in my head.
I wish I could just send you a braindump. 21:36
Sorry, hands hurt. BBL
stevan Juerd: I know what you mean (at least I think I do), but I think you are only seeing part of the overall picture
the meta-level must create all the "things" which magically appear once the language fully loads 21:37
Juerd I see the overall picture, but not how the overall picture can ever implement the language as defined by the synopses.
afk
s.the.an.
stevan Juerd: amen to that
Juerd afk for real now
stevan ok, .. I will let you rest you hands,.. I need to go afk too
21:47 saorge_ joined 21:56 \xe6var joined 22:04 bsb joined 22:08 _SamB_ joined 22:10 wilx joined 22:13 _SamB_ is now known as SamB
svnbot6 r8764 | Darren_Duncan++ | r2093@Darren-Duncans-Computer: darrenduncan | 2006-01-19 14:11:20 -0800 22:16
r8764 | Darren_Duncan++ | /ext/[Locale-KeyedText|Rosetta] : some small pod updates to change 'argument' to 'parameter', mainly in KeyedText.pm and Model.pm
22:21 justatheory joined 22:25 Limbic_Region joined 22:35 feng123 joined, Ovid joined 22:37 frederico joined 22:47 azuroth joined, eric256 joined, eric256 left 22:48 eddddddddddddddd joined 22:49 eddddddddddddddd left 23:10 hexmode joined 23:12 nicbrown joined 23:14 DaGo joined
rafl Juerd: What did we discuss? 23:32
Juerd rafl: References versus "real" variables 23:35
rafl: And on how that's quite unique to Perl, in the Known World of dynamic languages :)
rafl Juerd: OK, I remember. 23:36
Juerd Hm; I just received a donation of $ 3.83 23:40
I really wonder how someone thinks of such an amount
obra weird
maybe it was two pounds sterling?
theorbtwo That'd be my guess.
obra 18:41 <purl> obra: 2 British Pound makes 3.5193 U.S. Dollar 23:41
at this instant's rates
theorbtwo Depends who is converting.
obra right
18:42 <purl> obra: 3 Euro makes 3.6295 U.S. Dollar
closer
integral maybe someone assumed juerd would receive them in euro too 23:42
23:45 sub_chick joined 23:47 scook0 joined
Juerd obra: It came from a US Dollar account, from a US citizen. 23:53
obra weird
Juerd obra: So it'd be unlikely :)
My account is also a USD one.