'-Ofun: xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6'
Set by rafl_ on 5 November 2005.
azuroth_t hmm 00:01
azuroth_t is trying out feather's web-based IRC client. cool
Khisanth CGI:IRC? 00:02
azuroth_t I believe so
doh. somehow I wiped out all of src/Pugs/PIL2.hs 00:04
Khisanth ... 00:08
well at least reverting changes is trivial :)
azuroth_t yeah. I was wondering for a few days why it wasn't compiling - just thought to try reverting then 00:09
?eval my @a = (Int(4), Str("blah")); say @a; 00:20
evalbot_7905 Error: cannot cast from VObject (MkObject {objType = (mkType "Class"), objAttrs = <ref>, objOpaque = Nothing, objId = 17}) to Pugs.AST.Internals.VCode (VCode)
azuroth_t err, stupid 00:21
geoffb Anyone happen to know if there is a way to get use Perl journals from authors you are interested in to appear on the same page / in the same feed without declaring them friends? 00:55
scook0 woo! 02:17
luqui woo? 02:18
scook0 oh, just finished exams this morning, so hopefully more time for Pugs stuff 02:22
luqui ?eval +'0123' 05:08
evalbot_7905 0.0
svnbot6 r7906 | luqui++ | Fixed +'0123' (used to return 0). 05:10
luqui ?eval +'0123' 05:11
evalbot_7906 123.0
jdv79 seen stevan 05:36
jabbot jdv79: stevan was seen 3 days 8 hours 23 minutes 12 seconds ago
gaal liz6: ping 07:06
Yay, TaPL arrived. 08:34
azuroth TaPL eh? *adds to read-list* 09:13
d'aw, safari doesn't seem to have ti 09:15
renormalist Hi all! Are there any german speaking people here? I'm looking for german Pugs enthusiasts who want to participate in the German Perlworkshop 2006, to establish a Pugs focus. Currently I only know of german speaking rafl and iblech. 10:49
leo Hi renormalist - just answered the mail - I'll come to Bochum 11:06
renormalist nize, thanks 11:17
r0nny_ re
azuroth fwd? 11:18
svnbot6 r7907 | liz++ | Some more work on S17draft.pod: boy, is this hard to convey in English 11:30
r0nny_ renormalist: i'm german 11:31
rafl r0nny_: Hello. 11:44
Err.
renormalist: Hello.
renormalist: Got my mail WRT friday?
r0nny_ ;P 11:45
yo rafl
svk mirror ?
rafl Nothing new. 11:47
sri_ renormalist: i'll be there too 12:31
12:45 theorbtwo is now known as Dorwardsinnervoi, Dorwardsinnervoi is now known as theorbtwo
autrijus renormalist: I think I may be able to make to the Deutscher Perl workshop. 14:06
esp. good if iblech also manage to come :)
<- helsinki airport 14:07
Limbic_Region helsinki airport headed where? 14:08
salutations btw
rafl autrijus++; # German Perl Workshop! :-) 14:09
autrijus headed to Zurich, then to Hong Kong, then to Taipei
clkao waves at autrijus
autrijus particles at clkao
rafl autrijus: wlan on the helsinki airport? I wasn't able to get connected there when I've been there the last time..
autrijus wlan with AP "homerun", though require payment
theorbtwo Autrijus: International man of hackery. 14:10
autrijus had a Very Long Conference with jhi and aevil last night
rafl I didn't care about payment when I was there. I was forced to wait 5 hours :-/
autrijus on unicode, cpan (a perl6/ directory in cpan coming up), community, releng, and more
rafl autrijus: Only a perl6 directory which doesn't differ much from the rest of cpan beside there live perl6 modules or will some changes that were proposed by S22 be implemented? 14:12
autrijus rafl: a new indexer.
idea is when you upload to PAUSE it can shuffle the module into diff. dirs
by the "language" part in the long name
so perl5:DBI goes to orig perl5 dir 14:13
perl6:DBI (implicit on a p6 "module DBI") goes to perl6
and to be indexed separatedly according to static analysis and multiversioning specs
rafl But ot the dists/ + pool/ structure?
autrijus pool? 14:14
(mm boarding calls)
I'll write up more about what aevil/jhi and me tlaked about in journal... I've jotted things in analog dead trees 14:15
and got a wonderful "Unicode Demystified" book from jhi
so I'm happy -- but gotta run now
autrijus waves &
will try to pingback from the zurich airport ;) 14:16
stevan enjoy your flight autrijus 14:17
autrijus thanks :) &
nothingmuch www.garg.com/jim/anime_laws6.0.html 14:39
renormalist autrijus: It would be veeeeery nize, if you would come to the workshop. 15:47
sri_: sorry for late reading. It would be nize if you would come to the perlworkshop. Do you plan a talk? 15:48
gaal any language folks about? 15:56
renormalist brb in 1h
gaal why can't we give instance variables default values right in the C<has> declaration? 15:57
class Jabberwock; has $.claws = "catch"
Oh, I see in S12 that in roles that's valid. Won't it be useful in general too? 15:59
what's the latest spelling of the default invocant? "self" with no sigil? 16:45
sili saw something about a $?SELF, but has no idea what it is 16:48
PerlJam gaal: aye. 16:50
sili PerlJam: what's $?SELF ? 16:51
PerlJam $?SELF and self are both in the "spec"
sili hmm.
PerlJam sili: it's the current invocant.
Though the spelling may change soon. $Larry made some rumblings about unifying $?vars and $=vars 16:52
sili what's the difference?
gaal PerlJam: thanks. S12 on dev.perl.org is old! 16:53
PerlJam $=vars were PODish and $?vars were stuff you knew at compile time. Since that's basically the same thing, $Larry was talking about unifying them under $=vars so that the ? twigil could be free for other nefarious uses. 16:54
gaal what, you mean i can't do documentation that changes at runtime? :-p
PerlJam gaal: aye. The synopses need updating.
gaal hmm, and in-class method calls, are they now self.othermeth? 16:57
or would othermeth suffice?
PerlJam .othermeth or self.othermeth 16:58
or $?SELF.othermeth
gaal no, .othermeth is sometimes $_.othermeth
s/sometimes//
PerlJam no, .othermeth is *always* $_.othermeth. It's just that sometimes $_ is the invocant :)
gaal yeah.
sili wha? so sub foo {$_ is self ?} 16:59
gaal until assigned differently, yes. $_ is thankfully lexical now
theorbtwo ?eval class foo { method bar { } }; foo.bar
evalbot_7907 undef 17:00
theorbtwo ?eval class foo { method bar { } }; &foo::bar
evalbot_7907 \sub {...}
theorbtwo Oy.
theorbtwo doesn't remember the method of Method (or whatever it's called) to get the prototype.
(Or even if there is one, come to think of it...)
gaal i doubt there's one in pugs now. dunno about the spec. 17:01
there is .arity...
fwiw.
PerlJam theorbtwo: .prototype or .signature probably 17:02
theorbtwo ?eval class foo { method bar { } }; &foo::bar.prototype
evalbot_7907 Error: No compatible subroutine found: "&prototype"
theorbtwo ?eval class foo { method bar { } }; &foo::bar.signature
evalbot_7907 Error: No compatible subroutine found: "&signature"
theorbtwo gaal: I know about arity (I wrote it), but that isn't very helpful here.
gaal theorbtwo: what are you trying to do? 17:03
theorbtwo Find the default name of the invocant by asking.
Twas just a silly idea.
gaal ahhhhh well i doubt that could even work, because it's likely folded in during paring. 17:04
parsing
brb # tea
renormalist ?eval say "Hello"; 17:05
evalbot_7907 Hello bool::true
PerlJam gaal: depends on when you ask. 17:06
If you asked at compile-time, just after static analysis you should get a reasonable answer.
renormalist ?eval "aaa" ~~ "aaa";
evalbot_7907 bool::true
renormalist ?eval "aaa" ~~ rx/aaa/; 17:07
evalbot_7907 *** Cannot parse PGE: :w::aaa *** Error: end of file Match.new( ok => bool::false, from => 0, to => 0, str => "", sub_pos => (), sub_named => {} )
renormalist ?eval "aaa" ~~ rx:perl5/aaa/;
evalbot_7907 Match.new( ok => bool::true, from => 0, to => 3, str => "aaa", sub_pos => (), sub_named => {} )
gaal PerlJam: who is this information useful for? 17:08
the only place it might conceivably be usa*ble* is inside the method itself 17:09
Juerd renormalist: Please find a pugs interpreter :)
PerlJam gaal: I don't know, it was theorbtwo's idea :)
renormalist Juerd: I have one, I just try out this channels eval thing.
Juerd renormalist: Okay.
renormalist Juerd: :-)
Juerd renormalist: It's meant for helping in conversation, though 17:10
To illustrate a point
renormalist Juerd: ah, ok
theorbtwo My idea is that it'd be useful for automagic documentation.
PerlJam yeah, I was wondering if you were pointing out that PGE was broken :)
gaal and to impress visitors. don't forget that.
Juerd PerlJam: So was I
PerlJam theorbtwo: perl6's introspection will be tremendously useful for automagic docs. 17:11
theorbtwo: but only in documenting "what we already know" in some sense.
(where "we" are the programmers actually looking at the code) 17:12
Juerd I think signatures will prove very useful in documentation.
Usage information so concise, and because of variable names even documenting, that the full description will often not even be needed.
gaal yeah, Poogle anyone? 17:13
Juerd Eh, that reading it will often not be needed.
It does have to exist, of course :)
gaal: Sounds cute :)
Though I'd prefer a php.net-like system 17:14
php.net/keywoard
s/oa/o/
theorbtwo Also sounds like a trademark lawsuit waiting to happen.
Juerd I made something like it for Perl, under tnx.nl
tnx.nl/print
tnx.nl/func
gaal theorbtwo: www.haskell.org/hoogle
Juerd tnx.nl/op,OO,requick,vars
gaal it's spectacularly usefule.
Juerd Really great on IRC.
gaal s/e\././
theorbtwo LOL: 17:15
gaal Juerd: hoogle is of course available on #haskell.
theorbtwo "Roses are red. Violets are blue. Google rocks. Homage to you.
gaal yeah, ndm++.
Juerd I like the thinkgeek "Roses are #ff0000 / Violets are #0000ff" shirt 17:16
The spare ribs delivery guy is late :( 17:17
HUNGRY
integral maybe he's still being marinaded? :) 17:18
Juerd He? :) 17:19
Eh :)
I think he's stuck in traffic.
Traffic's terrible here around this time.
And since this area is reachable only by car and by very brave people... :)
gaal getting back to the previous discussion: i don't see though, why doesn't "othermeth" Just Work like say in Java? is this on purpose to avoid confusion, or is there something preventing it from working? 17:21
i know this is an oooold discussion - i'm not beating it, just trying to summarize the results. 17:22
PerlJam gaal: 1) how is the programmer to know it's a method? 2) how is perl to distinguish between methods and ordinary subs? 17:26
nnunley Java always has an object in context -- there are no global subs.
gaal PerlJam: 1 is quite a reasonable ergonomic point. 2 can be addressed similarly to how MMD questions are. 17:27
but that's fair enough.
rafl renormalist: Updates for friday? 18:06
renormalist rafl: just sent you mail. Still dont know. I would like to come, but it collides with other things ... 18:12
rafl renormalist: Would be great, though. 18:16
gaal i'm waking up late, but Rules using <> as special symbols makes quick'n'dirty XML parsing a pain. 18:23
anyone have a PGE-enabled pugs on feather? 18:26
..that works :)
rafl gaal: Doesn't /usr/bin/parrot work? 18:35
gaal: Please highlight me if it doesn't. I'll try to fix that later. I need to leave now. 18:38
gaal rafl: parrot -V runs, but all PGE matches via pugs fail. 18:46
?eval "moose" ~~ /m/
evalbot_7907 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
gaal ?eval say "ok" if "moose" ~~ /oo/
evalbot_7907 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
gaal rafl: that isn't the error I was getting from eric256's autopugs though. 18:47
I got:
*** Cannot parse PGE: (the rule I was using)
*** Error: end of file
PerlJam gaal: work for me (with freshly compiled parrot+pugs) 19:11
gaal ath? 19:15
path?
oh, on your own box? 19:16
PerlJam yeah, on my own box. Hold on a sec and I'll do it on feather.
er, it might be a little more than a "sec" :-)
gaal thanks (i'm trying to concentrate on writing so fixing anything that's not english is too distracting)
that's okay :) 19:17
actually maybe you can help me by just porting a regexp:
# rx:perl5{<description>(.+)</description>\s*</item>}
is this going to be as ugly as i think it is on p6 rules? 19:18
PerlJam perhaps
rx( <lt> description <gt> (.+) <lt> /description <gt> \s* <lt> /item ) # I think 19:19
not sure if the <lt> <gt> rules are available in pugs/pge though
theorbtwo You can't just backwhack the angle brackets? 19:23
geoffb PerlJam, it's been a while, but isn't the \s* not necessary? I thought rules defaulted to \s* between tokens?
theorbtwo isn't big on rule-fu.
PerlJam geoffb: only when you use :w (:words)
geoffb Also, gaal, if you're using PerlJam's rule, he's missing a <gt> at the end.
PerlJam, hmmm . . . I thought that implied \s+ as opposed to \s* 19:24
PerlJam ah, so I am
geoffb: no, :w implies \s* or \s+ depending on the location of the spaces in your rule (i.e. what's on either side of the space)
geoffb sigh 19:25
Perl certainly is like English . . . so much power, and SO messy
gaal PerlJam: thanks.
PerlJam theorbtwo: and, yes you can backwhack the angles if you so choose.
geoffb: yep. Fortunately for perl, the world is quite messy too. That makes it easier to get a one-to-one correspondence between reality and your software. 19:26
geoffb :-)
gaal hmm. I want to call a method in the condition of a when clause. can't I?
?eval class X; method cc { 4 } my $o = X.new; given $o { when (.cc > 3) { say "ggg" } } 19:27
evalbot_7907 undef
geoffb autosave++ # At least Emacs has the decency to save your file before crashing . . . .
gaal whoa, which reminds me, ci time. 19:28
that looks like a bug to me. anyone think different? 19:29
theorbtwo Certianly looks like a bug to me. 19:30
svnbot6 r7908 | gaal++ | tpd.pod: two examples/, some stuff on junctions, and minor fixes. 19:34
gaal anyone on OSX here? 19:37
nothingmuch 19:38
gaal yo!
Is there currently a Mac equivalent to "apt-get install pugs" now? 19:39
nothingmuch no
all solutions are third party (fink, darwin port, gentoo-osx)
and I doubt they have pugs
gaal s/one(currently, now).pick//
nothingmuch fink is apt-get ported 19:40
gaal okay: how does someone get pugs on a mac? i hope there are at least binaries for GHC yes? :)
nothingmuch it might be easy (i have no clue) to make rafl's stuff into there
yes, there are binaries
www.haskell.org/ghc/download_ghc_641.html
or you could use fink/darwinports for ghc 19:41
the .pkg file is easy though
gaal so: what's the n-liner to install pugs on a mac?
nothingmuch download, double click
double click GHC-6.4.1.pkg (it will unzip automatically, i think)
(perhaps it will even open automatically, bringing you into the installer)
(i don't remember)
gaal okay, and then cpan Perl6::Pugs in a shell yes? 19:42
nothingmuch click next/i agree/install repeatedly
yhes
well, no
sudo cpan
gaal yeah yeah
nothingmuch sudo is crucial - root does not have a password by default on OSX 19:43
i hate conscience games
dad is pissing me off
he said "do the dishes"
i jokingly said "every time you ask me i'll reset my counter
so he threw a fit, and then very dramatically did it himself
and I'm supposed to feel bad 19:44
gaal which counter?
nothingmuch the counter for in how many seconds it's going to take me to finish what i was in the middle of when he first asked me
wait, no, mom first asked me
nothingmuch doesn't like when people try to manipulate him 19:45
gaal in that case resetting it is good, since that implies the job's finished ;-)
nothingmuch if he would have just asked it would have gotten done
but because I need to feel guilty while doing it...
gaal hey, anyone feel like a nice Parsec task? 19:47
# www.nntp.perl.org/group/perl.perl6....uage/23996
tests exist in t/oo/attributes/attribute_initializement.t
xinming++ 19:48
nothingmuch passes 19:49
Catalyst::Plugin::Authorization::ACL is nearly done
what an exodus that was
geoffb 40 days in the desert? 19:50
nothingmuch 3 days in the dispatcher ;-)
gaal heh
gaal would not mind being in the desert now - I miss Sinai 19:51
geoffb writing go-live push docs for $contract
Ah, the sweet smell of a nearing push
Juerd dvoraks++ # both 20:02
nothingmuch Juerd: the composer and the engineer? 20:04
Juerd nothingmuch: If "the engineer" is the guy who made this great keyboard layout... :) 20:15
nothingmuch that's what I meant 20:16
Juerd Then, yea. 20:17
gaal anyone understand Larry's last p6l post? specifically, what does a public interface do to a private member? 20:27
svnbot6 r7909 | gaal++ | tpr.pod: 20:32
r7909 | gaal++ | * change $: to $!
r7909 | gaal++ | * "see also" section
gaal nothingmuch: still there? 20:40
nothingmuch yep 20:41
gaal # haskell.org/ghc/download_ghc_641.html#macosx
the very bottom says that ghc is available on darwinports
does that mean if you install from there you build your own ghc?
like on a freebsd system? 20:42
"The compiler is built from source, using a binary bootstrap compilier" -> built on your machine?
nothingmuch i don't know 20:43
i think so
gaal ah, you mentioned that port above, didn't notice
nothingmuch but i don't use darwinports, so I have no clue
gaal ok thanks.
nothingmuch the pkg file is binary though
i use it happily
gaal yeah, that's good stuff.
stevan nothingmuch: ping 21:05
nothingmuch hides 21:09
stevan I see you behind that terminal window 21:10
dduncan gaal, I noticed you updated tpr.pod in accordance with Larry's email on private attr syntax ... do you plan to update the parser too, or is the change not official? 21:35
rafl gaal: Does it work for your pugs with PGE support? 21:43
r0nny_ yo 22:03
rafl nothingmuch: I don't think Debian packages can be turned into fink packages that easily. 22:04
SamB gaal: I can tell you that you can't build GHC without GHC 22:06
unless you are porting and build from .hc files generated by a cross-GHC 22:08
dduncan so that's why build ghc from source takes so long!\
on another note, I like that change from : to ! for private attrs; makes it look less like package qualification syntax 22:10
eg, $:foo vs $::foo
or $bar:foo vs $bar::foo 22:11
(of course, the :: used in this way may not be valid perl 6, but it still evokes packages in my mind) 22:12
nothingmuch rafl: even for something that doesn't compile?
rafl nothingmuch: Err? 22:37
nothingmuch rafl: well, pugs is more portable than e.g. some_app
it works out of the box on OSX
so is the tricky stuff the releng for the paths and stuff? 22:38
rafl nothingmuch: I don't understand "even for something that doesn't compile?", though.
nothingmuch it was a brain fart
ignore it
rafl nothingmuch: AFAIK fink uses a single $package.info file to put all informations that are in debian/ for Debian packages in. 22:40
nothingmuch knows nothing of either debian or fink ;-)
rafl So it's hard to convert from Debian to fink, imho.
nothingmuch (that deeply, that is)
ah, okay
so screw it =)
rafl I don't know much about fink as well.
OK. I don't care about fink anyway as my ibook croaked some months ago. 22:41
(And because I used Debian on it anyway :-)
svnbot6 r7910 | liz++ | some more work on docs/AES/S17draft.pod 22:51
stevan hey robkinyon 23:26
svnbot6 r7911 | stevan++ | Perl6::ObjectSpace -
r7911 | stevan++ | * adding return type checking for closure type
r7911 | stevan++ | - added tests for this
robkinyon stevan: Yessssss?
stevan nothin 23:27
just sayin hey
robkinyon oh.
hey! :-)
leo liz6: - Coros are _like_ processes (S17draft) 23:34
I seem to have a different view of Coros ;-)
specifically there are *no* threads involved 23:35
liz6 leo: not necessarily... 23:38
or maybe we do think of it differently... ;-)
robkinyon How does Ruby do coros? they seem to have it down pretty well ... 23:39
leo is thinking of coros of course parrot-wise
liz6 I'm still trying to come up with a use case...
leo this means that exactly one interpreter is running the main code and the coro 23:40
implying there is never a concurrency problem
liz6 can two threads call the same coroutine?
leo sure as they can call the same sub
*if* variables are share properly... 23:41
shared even
liz6 but the second tread would block until it has yielded to the first thread?
leo nope 23:42
the caller get's the result - no one else
liz6 yes: 23:43
leo coros aren's thread imho
liz6 (initially I thought the same, and maybe I'm seeing threads everywhere)
but I wonder if it wouldn't be possible to have a coro continue execution 23:44
until the next yield, so that another thread would get back the next result
immediately?
leo either the caller or the coro is running
all other things aren't cors but threads 23:45
coros
shit keyboard
liz6 hmmm... 23:46
could very well you're right...
leo because if there is any piece of concurrency the implementation (low-level) is different
liz6 it's been a long day with a lot of meetings and a lot of travel for me...
leo you can still call it coros of course
liz6 (yes)
leo but inside parrot or $other_machine these aren't coros anymore 23:47
liz6 well, we're talking language design here, so whether at a lower level something is a thread or a coro, doesn't matter much or does it? 23:49
leo no
liz6 I mean: autri and I have also discussed that detaching a thread
_could_ mean doing a fork()
leo but coros which need threads per se are likely to be a lot slower
I would make any concurrency explicit in the syntax
liz6 well, maybe not all coros need threads
leo just my 2c
liz6 I'm just wondering how coros could not be thread aware... 23:50
if two threads call the same coro
one of the threads needs to block until the other has returned
leo do you now pthon generators?
python
liz6 I've heard of them...
but that basically means: no
;-)
leo well, instead of blocking a thread the interpreter is just running the coro, then it continues in the caller 23:51
liz6 so the code inside a coro could be executed by two threads at the same time? 23:52
how would that work for an iterator?
leo there is no advantage here basically in using threads - except if you want threads because there is parallelism 23:53
iterators usually don't do much work, run a few opcodes .yield(result), ... 23:54
liz6 well, you may well be right...
for some reason (and I'm too dense at the moment to be really able to explain why) it feels wrong not to include the possibility that coros can be threads as well 23:55
leo that's not the problem - some coros better can be threads - but please make this really explicit in syntax 23:56
liz6 working on that!
it's still a draft!
leo of course - and thanks for considering 23:57
liz6 no thanks... thank you for pointing out this issue...
anyways.. going to catch some shuteye... 23:59
night everyone!
leo yeah same here