pugs.blogs.com/dist/Perl6-Pugs-6.2.13.tar.gz released! | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by audreyt on 17 October 2006.
TimToady blushes 00:01
00:08 justatheory joined 00:14 idiotmax joined 00:19 penk joined 00:21 scsibug_ joined 00:24 mako132_ joined
cmarcelo @tell audreyt if you have free time/mind for type hackery help: in moh, (pull) and look at AnyClass type, can I do this sort of things? ("a" type is function of "c" type there) 00:34
lambdabot Consider it noted.
01:19 scsibug_ is now known as scsibug 01:20 dmq joined 01:37 fglock joined
pasteling "fglock" at 200.150.229.66 pasted "audreyt: translation to portuguese" (126 lines, 2.1K) at sial.org/pbot/20802 01:38
01:39 bonsai joined 01:43 bonsai joined
svnbot6 r14578 | fglock++ | Pugs-Compiler-Rule - added Pugs::Emitter::Rule::Perl6::Ratchet - 01:44
r14578 | fglock++ | Rules implemented in MiniPerl6; first step for bootstrapping MiniPerl6
audreyt yay finally done with the slides :)) 01:59
lambdabot audreyt: You have 2 new messages. '/msg lambdabot @messages' to read them.
audreyt (well, modulo more pictures, but that's a start.)
fglock++ # translation 02:00
Uploading...
02:00 nipotaway is now known as nipotan
clkao audreyt: hey you want to do the pugs stuff on feather? 02:02
i have some cycles before bed now 02:03
audreyt clkao: oh cool! is there a way to autosync your repo up? 02:04
I mean using svnsync or replay or something
clkao yes
audreyt what command should I give?
clkao you have svn 1.4 on feather?
audreyt yes
clkao oh damn. you need 1.4.1 which is unreleased 02:05
TreyHarris audreyt: congrats! oh, by the way, LOTS of good feedback from your talks here!
clkao whooot
audreyt: but i can fix pullyu to finish up the dump
audreyt clkao: uhm. you can build a 1.4.1 on feather maybe?
what's in 1.4.1?
02:05 tokuhirom is now known as toku_away
audreyt oh hey, that's a plan too 02:06
clkao fixed perl bindings to use replay
audreyt TreyHarris: ooh. what kind of feedback? :)
clkao but what do you want besides the dump?
commitbit?
audreyt yes
that's all actually.
clkao btw, pushmi is working now
audreyt is it part of svk trunk?
02:06 toku_away is now known as tokuhirom
clkao but we can deal with that later 02:06
no, next week probably
audreyt ok
clkao i just finished the auth relay bit today
but it requires perlbal ;)
audreyt clkao++ # amazing tech
clkao: MiniPerl6 Emitter in Perl5 is going smoothly
clkao audreyt: i need a product name
audreyt so if you restrict your p6 code into a subset 02:07
clkao whooot
i saw the commits
TreyHarris audreyt: that you're lovely and have impeccable fashion sense and very good command of english... and made pretty slides...
audreyt then my line-by-line MessageBus handport can be automated
clkao eggcellent
TreyHarris audreyt: there might have been a comment or two about pugs or jifty, too, but i'm not sure ;)
audreyt and then Schwern will have a much better case
to convert Jifty to use p6 signatures :)
TreyHarris: I'm not sure where the fashion sense comes part comes from, but cool :)
clkao ok. let me fsck the dump now
TreyHarris audreyt: *grin* honestly, i think the feedback was mostly that you're an engaging speaker talking about exciting technology. 02:08
audreyt Review welcome for Consili talk: pugs.blogs.com/talks/conisli-ofun.pdf
Portuguese vrsion: pugs.blogs.com/talks/conisli-ofun-pt.pdf
lambdabot tinyurl.com/yys387 02:09
audreyt TreyHarris: *blush* :)
clkao audreyt: do you mention hackerkitchen? 02:10
audreyt I compared cooking to hacking free software
svnbot6 r14579 | fglock++ | Pugs-Compiler-Rule - added test contributed by ashleyb++ that makes PCR hang; no solution yet
audreyt note this is a short talk, with .pt interpreters, so I effectively only have <30mins 02:11
eviltwin_b bah. nobody's come up with a cscope-like program for haskell yet, I take it (or so google suggests to me)
audreyt hence 34 slides, not 340 slides :)
obra audreyt: nice talk 02:12
audreyt obrigada
obra is about to dive into ODing on Jifty::DBI::Schema 02:14
obra is afraid to warp his head like this 02:16
clkao audreyt: i tried a pushmi-powered relayed sync today. it's bloody fast
audreyt: all you need is a mechnism to sync the authn file and you can have people providing distributed repository in your local continent. svk mi --relocate Just Works 02:18
audreyt you mean it's finally like darcs? 02:19
:D
all I care is that "svk ci" to mipath will suddenly consume 50% bandwidth 02:21
clkao oh that's not happening yet
but oson
audreyt if that happens, that will improve my life significantly
clkao are commits really slow for you ?
audreyt yes they are
for some reason the fetch part seems slower
stevan audreyt++ # another execellent talk
audreyt when committing to openfoundry
stevan: hey :) thanks
02:21 gnuvince joined
clkao yes 02:21
because ra aren't reused
sucks ass 02:22
audreyt: remind me when i get back to london. if i didn't finish it on the flight
audreyt ok 02:23
remind me to remind you if I didn't hivemind you tomorrow
clkao we need irc to hiveminder bot 02:24
audreyt we can call the bot "mindya" 02:25
02:31 buubot joined 02:33 buubot joined 02:34 buubot joined
eviltwin_b tries a make clean and full rebuild because $*BASETIME still gets the old value --- even after both adding the filter and even hacking the Prelude 02:39
audreyt eviltwin_b: you need to rm blib6/lib/*yml
eviltwin_b (only in the test script... works from command line even with Prelude loaded)
audreyt and then make again
no full rebuild needed I think.
eviltwin_b well, I think I was due for a nuke anyway
for a "this ought to be an easy frst change" I sure ended up touching a lot of stuff I'm not sure I had any business touching :) 02:41
www.ece.cmu.edu/~allbery/filetime.diff if you're curious 02:42
I'm not firmly wedded to some of this stuff, e.g. where I moved the refactored time stuff 02:43
clkao appearantly there's empty revision somewhere that svnadmin load is skipping
the dump is correct
eviltwin_b I should probably take time to mindmeld with the code base before I try anything else :)
audreyt maybe you just checkin :)
eviltwin_b I prefer having it pass some tests first 02:44
"it compiles, ship it" might be good enough for some hackers but I like having some confidence that it actually DTRT
audreyt that's cool too :) 02:47
but if you check it in some gnomes will automagically Make It Work...
02:47 gnuvince joined
eviltwin_b (I have no illusions that this is final anyway, if nothing else I've only been doing Haskell for ~ 4 months and I'm sure my code is far from idiomatic except where I copy-and-pasted 02:47
02:58 esstone joined 03:00 weinig|food is now known as weinig, mjk joined
clkao audreyt: what's r8696 in your mirror? 03:04
audreyt sec 03:05
clkao is openfoundry down again:?
i can't do log from them
fsck
03:06 seano joined
audreyt it's not down for me 03:07
clkao ok. just very longddeail
audreyt there's no r8696.
clkao but there is, on the pugs repository 03:08
i don't have it in my mirror either
03:14 weinig is now known as weinig|zZz
eviltwin_b has been the victim of garbage code often enough to think it's polite to avoid subjecting others to it :) 03:17
audreyt :) 03:18
journals up. see you tomorrow... *wave* &
clkao that sounds very familiar 03:19
audreyt the rallying cry was actually "we can't depend on Data::Bind to implement Data::Bind" :) 03:21
clkao haa haa
eviltwin_b woot! test passes. running a full test just to be certain I didn't hork something else 03:40
03:44 mako132_ joined, justatheory joined 03:55 lisppaste3 joined 03:57 awwaiid joined 04:11 penk joined 04:20 nusgnaf joined 04:37 eggzeck[laptop] joined 04:41 cmarcelo joined, cmarcelo left 04:45 penk joined 04:57 Psyche^ joined 04:58 SubStack joined 05:03 seano joined 05:07 penk joined 05:14 Psyche^ is now known as Patterner 05:33 scw joined 06:00 ludan joined 06:01 seano joined 06:13 buetow joined 06:31 baest joined 06:45 marmic joined 06:59 Yappo joined 07:06 holoway_ joined, chip joined, ingy joined, TimToady_ joined, dvorak joined, hcchien joined, tokuhirom joined, clsung joined, kolibrie joined, revdiablo joined, cmeyer joined 07:07 ludan joined, rafl joined 07:11 cj joined 07:42 pnu joined 08:13 baest joined 08:27 RichardH joined, buubot joined 08:29 bonsai joined
RichardH Just installed GHC 6.6 using debian unstable (two debs, 1 for compiler, 1 for mtl) but make bombs out with 08:30
Setup: Warning: The field "hs-source-dir" is deprecated, please use hs-source-dirs.
Setup: error reading ./.setup-config; run "setup configure" command?
Build failed: 256 at util/build_pugs.pl line 359.
make: *** [pugs] Error 2
Can anyone helps
08:34 iblechbot joined 08:38 bonsai joined
mr_ank RichardH: don't you get an error right before that? 08:45
probably from the network library? 08:46
08:46 drrho joined, bonsai is now known as bons
mr_ank RichardH: try installing libghc6-network-dev 08:46
RichardH yes errors occur earlier. Didnt want to put too much junk into chat 08:49
trying the lib u mentioned
araujo mmm... 08:50
RichardH, you trying to build from clean sources?
RichardH a) cant find libghc6-network-dev (I am using Synaptic package manager and I have the debian unstable repository clicked) 08:52
b) I have just updated Pugs from svn repository, and run perl Makefile.PL 08:53
08:53 tokuhirom left
mr_ank RichardH: i've been using this one: 08:53
deb haskell-unsafe.alioth.debian.org/archive/i386 . unstable testing stable
lambdabot Title: Index of /archive/i386, tinyurl.com/ybj7tt 08:54
mr_ank Dunno if its of any help - i ran into a similar problem at first - it might be something different thou.
09:01 gene9 joined
RichardH installing libghc6-network-dev (from haske-unsafe...) has not cured/affected the problem. The first error detected is 09:10
ghc-pkg: /home/richard/development/pugs/third-party/installed/packages.conf: parse error in package config file
09:30 nipotan is now known as nipotaway 09:40 penk joined 09:41 ilogger2 joined 09:42 arguile_ joined, Debolaz joined, thepler joined, Eidolos joined 09:43 frankg joined 09:44 badalex joined 09:45 SamB joined
RichardH Further to pugs install problem, cleaning is the key. Hence, if pugs was first built and installed with GCH6.4, then CGH6.6 is installed, user has to issue sudo make clean, then perl Makefile.PL, etc. 09:45
09:46 gugod joined, clsung joined 09:51 cj joined, integral joined 09:56 hcchien joined 10:06 amv joined 10:17 gaal joined 10:21 theorbtwo joined
cognominal S06.pod:718 sub compare (|$args Num $x, Num $y --> Bool) { ... } # missing comma apparently 10:22
10:22 penk joined 10:26 broquaint joined, nnunley joined 10:42 eggzeck[laptop] joined 10:51 eggzeck joined, chris2_ joined 10:52 pjcj joined
svnbot6 r14580 | audreyt++ | * RichardH++ noticed that Pugs::Runtime::Value's MANIFEST 11:04
r14580 | audreyt++ | shouldn't be in repo.
11:05 _fab joined 11:06 anatoly joined, anatoly is now known as anatolyv 11:19 qmole joined 11:31 frederico joined 11:33 Yappo joined 11:47 ruoso joined 12:12 kcwu joined 12:21 OppaiSan joined, OppaiSan left, Psyche^ joined 12:22 OppaiSan joined 12:23 OppaiSan left, tokuhirom joined 12:24 elmex joined 12:29 Psyche^ is now known as Patterner 12:30 justatheory joined 12:42 mr_ank joined 12:48 lambdabot joined 12:58 mugwump_ joined 13:21 kanru joined
anatolyv ?eval { $a = 5; my $a; } 13:40
13:42 rgs joined 13:47 cmarcelo joined 13:50 xinming joined 13:53 tokuhirom joined, marmic joined, miyagawa_ joined, meppl joined, Kattana joined, takesako joined 13:54 takanori_ joined, cognominal joined, beppu joined, cmeyer joined, spoop joined 13:55 dmq joined, wolverian joined, xinming joined, wilx joined, statico joined, cmarcelo joined, woremacx joined, lambdabot joined, SubStack joined 13:56 Juerd joined, audreyt joined, leo joined, plural joined, anatolyv joined, qmole joined, webmind joined, chip joined, pmichaud_ joined, PerlJam joined, buu joined, scw joined, revdiablo joined, kanru joined, hcchien joined, tcliou joined, kalven joined, jiing joined, elmex joined, Yappo joined, bennymack joined, cmarcelo joined, sri joined 13:57 lumi joined, buubot joined, prism joined 14:02 mtve joined 14:32 Eimi joined 14:38 eviltwin_b joined
cognominal ?eval my Dog $spot; say $spot 14:38
eviltwin_b no evalbot, looks like 14:39
cognominal yup
it should print "Dog". I hate that.
like the "undefined" that crops everywahre in my js strings... 14:40
I have the habits of any kind of undef to stringify to ""
14:42 chris2_ joined
audreyt say Dog; # prints '' 14:43
that is also surprising, though.
because in p6
my Dog $spot .= new;
is the p5 equiv
my Dog $spot = 'Dog';
$spot = $spot->new;
and when you print $spot you do get 'Dog'.
14:43 chris2_ is now known as chris2
cognominal btw: <cognominal>S06.pod:718 sub compare (|$args Num $x, Num $y --> Bool) { ... } # missing comma apparently 14:45
...again, but a != one 14:46
14:46 idiotmax joined 14:47 norageek joined, _fab joined
audreyt I thought I committed it? 14:48
14:48 lambdabot joined
audreyt it now reads 14:48
sub compare (|$args, Num $x, Num $y --> Bool) { ... }
cognominal ho, sorry 14:49
audreyt np :)
14:50 rafl joined 14:51 cj joined, cookys joined, jrockway joined, TreyHarris joined 14:52 nothingmuch joined 14:53 pasteling joined 14:55 xinming_ joined 14:56 ludan joined 15:01 autark joined, integral joined, rlb3 joined, clsung joined 15:02 obra joined, weinig joined, rafl_ joined 15:03 GeJ joined
audreyt freenode is under DDoS so the bots are off 15:04
mr_ank grabs the shotgun 15:05
integral hmm, we should keep them in the fridge then
mr_ank who do i have to shoot? how D is the DDos?
15:06 Grrrr joined, anatoly joined, anatoly is now known as anatolyv 15:08 fglock joined, evalbot_r14583 joined 15:09 svnbot6 joined
audreyt whew. 15:09
anatolyv the DDos is over? 15:10
svnbot6 r14584 | audreyt++ | * MiniPerl6 AST: Add "While" and "Leave" nodes.
15:12 [particle] joined 15:15 buetow joined, vel joined
audreyt seems so 15:17
svnbot6 r14585 | audreyt++ | * More richly annotated MiniPerl6 AST 15:19
15:20 penk joined
svnbot6 r14586 | audreyt++ | * MiniPerl6: Follwing NewExp, Split Control from Exp. 15:22
15:23 iblechbot joined 15:25 ofer0 joined 15:31 Psyche^ joined, Psyche^ is now known as Patterner
avar audreyt: there was some talk by some perl6 people to rewrite mediawiki in perl 6, remember anything about that? 15:33
svnbot6 r14587 | fglock++ | MiniPerl6 - temporarily added v6's grammar as-is 15:41
15:51 camenix joined
audreyt avar: on perl6-users? faintly 15:53
15:53 rodi joined
avar thanks' for the google seed, I'll read it:) 15:55
the $1k prize for a wiki in perl6 one?
[particle] i think i remember that, too. but i think getting rakudo.org up satisfied their immediate needs
avar how complete are the various grammar implementations currently? 15:57
i.e. to write something like a parser for the mediawiki syntax
15:58 clkao joined, elmex joined
[particle] avar: that should be implementable currently 15:58
avar Are both the parrot and Perl 6 implementations rather complete? 15:59
[particle] they're pretty darned good. 16:00
PerlJam avar: reasonably so.
svnbot6 r14588 | fglock++ | MiniPerl6 - Expression.pm is now empty; it will be replaced by a pure-rules precedence parser
PerlJam avar: Parrot is quite useable. Pugs is also, but still slowish
avar A lot of stuff in the mediawiki syntax depends on being able to callback to php stuff, so there needs no be some C glue that handles calling php functions, e.g. to see if an article exists 16:01
16:01 hexmode joined
avar I expect that there's support for that too (the C glue part) 16:02
[particle] yes, in parrot.
i expect in v6, too, since its vm is perl5
PerlJam yeah but the parrot glue is nicer than XS :) 16:03
[particle] much nicer!
16:04 smash_ joined
[particle] but chromatic's P5NCI is promising, if incomplete 16:04
avar PerlJam: example of parrot glue somewhere?
avar has written quite a bit of XS 16:05
[particle] svn.perl.org/parrot/trunk/runtime/p...ry/SDL.pir 16:06
lambdabot tinyurl.com/wa6gg
[particle] take a look at eg. the _init_video sub 16:07
16:07 weinig is now known as weinig|bb, weinig|bb is now known as weinig|bbl
[particle] each binding is two lines (dlfunc/store_global) 16:07
there's a perl.com article on this... 16:08
16:09 lichtkind joined, nusgnaf joined
[particle] actually, two: www.perl.com/pub/a/2004/12/22/mod_parrot.html and www.perl.com/pub/a/2004/12/01/3d_engine.html 16:10
lambdabot Title: perl.com: Introducing mod_parrot, tinyurl.com/koln5
avar [particle]: your offering pleases kittie
[particle] :) 16:11
nothingmuch @tell gaal moose! 16:14
lambdabot Consider it noted.
audreyt 17:00 < PerlJam> avar: Parrot is quite useable. Pugs is also, but still slowish 16:15
clkao audreyt: hi
audreyt well, for parsing mediawiki, I'd like a benchmark of PGE vs PCR in token/rul emode :)
clkao: heya
clkao audreyt: new pugs.repo loaded in ~clkao on feather 16:16
empty revisions are now padded by pullyu
audreyt woot. how do sync it up?
PerlJam: it's not yet clear to me that the ratchet parser of PGE is significantly faster than PCR...
or any faster, in fact. 16:17
clkao audreyt: pullyu ~/.svk/local /mirror/pugs -r999@:HEAD
audreyt 999 ?
clkao it generates a dump from r999 that you can load onto existing one
PerlJam audreyt: Well, that's why I said "slowish" because PGE seems faster (pure anecdote) 16:18
audreyt oh. so just need a wrapper
clkao i think it's currently 14581@
but are you turning openfoundry off to read only?
audreyt clkao: that's the plan
clkao so make openfoundry readonly, copy acl, svk up pugs.reo on feather. profit 16:19
want to make it so while i wait for laundry?
audreyt well we need to install commitbit.
PerlJam pugs repo is moving to feather? hooray!
audreyt and make sure it works
PerlJam: yeah, finally
clkao audreyt: want to install it?
audreyt sure. I'll do that 16:20
but let me get ACL first, k?
clkao sure 16:21
let me see how fast i can implement ra_replay pipeline 16:22
16:24 norageek joined, rgs joined
audreyt clkao: so let me make sure what we need -- everyone's password will be reset 16:26
clkao: so let me make sure what we need -- everyone's password will be resi.e. randomized
so I just get nick and email
correct?
oh and admiin_bit 16:27
clkao that should be okay
basically people would just need to svn nswich --relocate or svk mirror --relocate 16:28
audreyt yup
that's like, the precondition of switching
make everybody resync 14000 revs is, uhm, dire 16:29
you don't have a RealName field?
in the model I mean
clkao i don't recall so
audreyt assuming we don't need it
16:42 weinig joined
audreyt ok, downloading. eta 20min 16:45
installing commitbit now
clkao cool 16:46
audreyt do I reinvite everybody via email, or is there a way to trigger random pass regen without sending lotsa mails? 16:47
clkao: what's the DAV recipe? do I just Include httpd.conf ? 16:51
16:53 knewt joined
audreyt obra++ clkao++ # CommitBit gets Very Real Very Quick 16:54
this JFDI thing is infectious...
clkao oh ya 16:59
17:02 diakopter joined
obra audreyt: oh? you have commitbit running? cool! 17:04
I'm sorry that we had trouble getting things going on the perl.org box 17:05
I've not heard a peep from robrt in a few days
audreyt yeah, so I guess that's timeout for now
we can always pushmi later
obra :) 17:07
or work on distributed jifty apps
17:09 kanru joined 17:11 cmarcelo left 17:16 [smash] joined
audreyt clkao: I got the ACL. 17:32
converting to .sql now...
with perl6 :) 17:33
17:34 araujo joined 17:35 timbunce joined, timbunce left
audreyt commitbit set up and running on feather. pondering running it on port 80... 17:37
obra use fcgi?
audreyt or speedycgi
probably fcgi.
17:38 xinming_ is now known as xinming 17:39 timbunce joined 17:40 beppu joined, Odin- joined
obra I do not trust speedycgi 17:42
but I'd love a scgi handler for jifty
also, basedo n clkao's experiences, I think I want a perlbal
17:46 RHainsworth joined 17:51 bernhard joined
pasteling "audreyt" at 200.150.229.66 pasted "ppencode for cmarcelo" (142 lines, 1.8K) at sial.org/pbot/20815 18:01
audreyt @tell cmarcelo when you get cycles after lunch... sial.org/pbot/20815 please :)))
lambdabot Consider it noted.
audreyt nap, bbiab & 18:02
18:02 anatoly joined, anatoly is now known as anatolyv 18:24 penk joined 18:38 idiotmax joined 18:39 masak joined 18:45 miyagawa_ joined 18:47 c6rbon joined
dmq thinks about prunes 18:51
18:51 xerox joined 18:53 rodi joined 19:11 penk joined 19:12 Gothmog_ joined 19:15 TSa joined 19:29 Psyche^ joined, Psyche^ is now known as Patterner 19:30 TreyHarris joined, ofer0 joined, buubot joined 19:31 pasteling joined 19:34 obra joined, clkao joined, idiotmax joined 19:40 perlbot joined 19:52 eggzeck[laptop] joined 19:55 DHGE joined 20:07 mauke joined 20:16 SCalimlim joined 20:18 fglock joined 20:21 jferrero joined 20:24 _fab joined 20:31 cmarcelo joined 20:32 cmarcelo_ joined 20:33 cmarcelo joined
audreyt clkao: in your Makefile.PL 20:34
name('Text-Password-Pronouncable.pm');
is that intentional? surely you mean s/.pm// ?
20:38 shobadobs joined
anatolyv audreyt: is { supposed to ideally be a macro, or is it hardcoded into the lang? I'm having trouble figuring it from the S??. 20:40
audreyt which { do you mean? :)
anatolyv audreyt: I mean, if it's a macro, I'm not seeing which category it fits in to make if expr { } etc. work.
the one that opens any code block :) 20:41
audreyt it's circumfix:<{ }>
anatolyv but wouldn't that mean that if 2<3 say "moose!" should also work?
[particle] audreyt: pmichaud is working on past Right Now
audreyt cool 20:42
[particle] i pointed him to src/PIL/Container.hs, any other pointers?
audreyt may be fun to compare that to svn.openfoundry.org/pugs/v6/v6-MiniPerl6/AST.pm
lambdabot tinyurl.com/yxs8nk
audreyt that's the most relevant
since fglock and I are bootstrapping PCR into Perl6 with that 20:43
[particle] great!
audreyt and I think it's a pretty solid robust design
based on previous PIL1 and PIL^N lessons
the important thing there is unpacking and pattern matching is very flexible 20:44
TimToady_ anatolyv: nope, see S02:236
audreyt and there is only binding, no assignment
and there is only lexical scope, no package scope
20:45 TSa joined
[particle] hrmm no assignment, interesting 20:45
audreyt it's just you write assignment with :=
not with =
no two-level assignment
and no list context
is really the key point
since := carries no context 20:46
[particle] ok, so like your blog post mentions
audreyt and = always carries
yes.
anatolyv TimToady_: er, 236 is the line number? the para that starts with "This is an unchanging deep rule, but the surface ramifications of it"?
TimToady_ yes. 20:47
20:47 TimToady_ is now known as TimToady, ofer0 joined
clkao audreyt: hi 20:49
audreyt: right no .pm, sorry
anatolyv TimToady: suppose I write my own circumfix:<~ ~> (or whatever) macro that produces the same subtree of AST (or whatever) that circumfix:<{ }> produces - will "if" and "for" automatically recognize it? or is {} hardcoded into them? that's my question, I guess.
TimToady: the place where the compiler expects { after the test expression in if is not a control_statement place, but neither is it possible to have just any Expression there, obviously. So what kind of place is it, lexer-wise? 20:50
20:56 Aankhen`` joined
TimToady it is generally where an operator is expected, not a term. the magic is actually that {...} refuses to be a term at the top level within the conditional, so must be parenthesized somehow. 20:57
dmq peeps in 20:58
did you get a chance to think about that stuff i mentioned yesterday TimToady? 21:00
anatolyv TimToady: sorry if I'm being tense, but I don't seem to understand on what basis any other operator at that place, e.g. any prefix operator, instead of {}, will be rejected.
TimToady dmq: a little, no conclusions, but wondering if we're not missing a generalization somewhere. 21:01
21:01 SubStack joined
TimToady anatolyv: a prefix operator is not expected where an "operator" is expected, but where a term is expect. 21:01
the operator/term expectation is really more a "don't expect a term, expect a term" distinction 21:02
clkao audreyt: 0.26 on cpan
dmq Well, ive spoken with someone else about this, and he too was surprised by my commit, so im trying to find a better name.
And im planning on renaming the one i called error commit, also because both you and he thought it was weird. (hes a prolog person) 21:03
I was thinking (*NEXT) (*CUT) (*COMMIT).
anatolyv TimToady: what can appear at a place where an operator can appear but not a term? Can this be formalised in terms of what <S02:2323> claims about subsets of grammatical categories possible at each point? 21:05
TimToady when I complain about a missing generalization, I mean it sounds kind of like having different verbs for escaping out of different kinds of loops.
dmq yes, i understand.
i agree. sortof.
21:06 polettix joined
audreyt you mean "break" and "last"? :) 21:06
dmq i think one of the influences on my thinking is something that jeffery verbalized well in MRE2. He explained how "NFA" matching engines really have two layers. 21:07
TimToady anatolyv: yes, that's exactly how the lexer is supposed to work, in sets of grammatical categories available at any particular point.
audreyt clkao: password is plaintext in CB?
dmq the first is what he calls the transmission, and the second is the engine. Which matches up nicely with perls intuit_start/find_by_class stuff, and the real regmatch() structure. 21:08
and i think it can be useful to control both independently.
clkao audreyt: audreyt i think just plaintext
audreyt k
dmq and the three, plus the two more i had in mind (*MARK:name) (*POPMARK:name), are all pretty different. 21:09
TimToady in P6 we controll the transmission with adverbs like :overlap and :exhaustive, rather than with internal backtracking tricks.
dmq but then you lose the ability to do something like what cut does. 21:10
anatolyv TimToady: understand that; trying to understand what are the grammatical categories that the lexer, coming to "{" in the "if" construct, considers available. Since { is a circumfix macro, "circumfix" must be one such category, but "prefix", according to you, is not one.
dmq or the ability to make selective on a submatch.
audreyt clkao: there's no way to initialize the admin account other than manual insertion? 21:12
that's somewhat backwards
TimToady anatolyv: depends on where you are in the if construct.
audreyt maybe a config to set root?
dmq like how would you do something like: "once you have seen this ignore everything you have seen up until now and try again"
TimToady in the normal block place, only an operator is expected because the preceding thing was a term.
and because the block requires whitespace before it, it cannot be a postfix. 21:13
clkao audreyt: i don't know. api calls?
audreyt maybe. or just Admin Console
I'll deal 21:14
TimToady if the conditional sees a {...} in the term position within the conditional, the "is parsed" of circumfix:<{ }> rejects it specially.
other circumfixes do not have this property, so parens and square brackets still work, for instance. 21:15
audreyt this is conveyed by a state carried during the parse
TimToady so to answer your underlying question, no, you can't derive the behavior merely from its circumfixhood. 21:16
anatolyv TimToady: hmm. I understand how the specialness of {} handles rejecting {...} in the top-level of a conditional. 21:17
dmq (*ADVANCE) (*PRUNE) (*COMMIT) ?
anatolyv TimToady: (thanks for explaining that)
TimToady: what I don't seem to understand is what's the specialness of {} that makes it possible only for {} to appear in the block position of the construct, and not, say, some other circumfix whatsoever. 21:18
audreyt clkao: when you rename something an error occurs instead of a redircet
try rename repo
this is a general jifty bug :)
anatolyv TimToady: or some other kind of operator, except I don't really understand what you mean by "operator", because I'm trying to think in terms of the categories listed in S02, i.e. term, quote, prefix, postfix etc., and I don't understand which of these together make up what you refer to as not-a-term-"operator". 21:19
TimToady I say it's expecting an operator there, but {...} is really a term, and this is really a violation of the basic Perl parsing philosophy that term/term should always be a syntax error. 21:20
so we don't want to extend it to other terms in "operator" position
21:20 frederico joined
TimToady when I say "operator" in this context, it means mostly infix 21:21
or some kind of terminator like a right paren
it's the meaning of operator that is just "non-term"
that is, if there were a term right here, it would be a syntax error. 21:22
anatolyv TimToady: what's a term? a (complete sub-)expression?
TimToady but you see that "if $foo {...}" really has two terms in a row, and C gets away from that by requiring non-expression parens around the conditional
obra audreyt: there's a bundled cli tool to set up an admin account
audreyt oh hey, bin/create_admin/ 21:23
obra ponders muxing a wiki into commitbit 21:24
audreyt also when repo is nonexistent
it doesn't run svnadmin to create or warn
but that's fine
obra ...it should
TimToady anatolyv: more or less, but the lexer doesn't think in chunks that large.
obra (that may be "it doesn't check the faulure of svnadmin")
TimToady it only knows that some things can start one of those, and some things can't. 21:25
the things that can start on of those we call terms (and prefix operators)
anatolyv TimToady: and circumfix as well?
TimToady yes, those too 21:26
which is why postcircumfix is a different category
pasteling "cmarcelo" at 200.150.229.66 pasted "audreyt => ppencode in pt_BR.. first shot." (163 lines, 2.5K) at sial.org/pbot/20820
audreyt cmarcelo++
anatolyv TimToady: so the lexer would normally expect an operator (to continue the term that is the condition), but it sees {...} which is a term, being circumfix, and the special magic is that "if" instructs the lexer to still accept a term at this point, but not just any old term, but specifically one that starts with circumfix:<{ }>? 21:31
TimToady yes 21:32
21:32 cmarcelo joined
TimToady this would be a lot easier if curlies weren't so overloaded... 21:32
but there are a number of cases where we parse statements differently from expressions, and this is one of them. 21:33
anatolyv TimToady: wow, thanks a million. It's really clear now. 21:34
TimToady: if you think this explanation of the specialness should be in S02 somewhere, I'll be happy to write up and suggest a patch. 21:35
TimToady sure
anatolyv anatolyv: I've pored over S02 trying to understand this, but it only explains how {...} is not accepted in term position in the condition. 21:36
audreyt obra: so, it looks like we need to resend invite mail to everybody
anatolyv er, now I'm talking to myself :)
audreyt obra: because that's the only way to convey password
any better suggestions?
lichtkind TimToady++ for inventing captures (i hope i will capture this idea fully)
TimToady well, it was several of us working it out together 21:37
obra audreyt: I don't have a good other plan
TimToady I mostly just named them and noticed they were similar to Matches.
obra audreyt: did you find a way to get their password reverse engineered?
audreyt don't we require plaintext? 21:38
won't help if I get the md5 digest, right? 21:39
obra not really, no, alas :/
audreyt and I'm really afraid of storing noncomputer generated plaintext password
in a sqlite database on feather
obra so. one other option
is to disable the svnserve stuff and store the md5s
it should only be a few lines of hackery 21:40
audreyt I think we'll use dav anyway
will that help?
lichtkind TimToady maybe i wasnt there but what stunnes me that this idea seems fresh like an baby but , like we say in german, dunno any other language that knows about that
obra yes 21:41
then the plaintext requirement goes away
commitbit just needs a bit of hacking to create a mode where we store md5
audreyt ok. I can get the MD5 easily
obra sends you a commitbit commitbit 21:42
TimToady well, it just kinda falls out of the view that binding to a Signature is a kind of pattern matching, so if you're pattern matching against something, maybe that something has a name.
and it was also kind of forced by our policy of not committing to the binding of a capture until the last moment. 21:44
svnbot6 r14589 | fglock++ | MiniPerl6 - cleanup commit error
TimToady so we needed some way to do that lazily.
audreyt it's a method call without the method, and without the call :) 21:45
TimToady and it just seemed to me that Arglist was a stupid name...
it's the grin.
audreyt := Chershire
Cheshire, even.
TimToady a Capture is a kind of project that you're putting out for bid to see which method will do it the cheapest. 21:46
lichtkind is writing all that down for TimToadys Memoares :), ähm theory chapter for perl6tut
TimToady where "cheapest" includes the amortized costs of all potential damages 21:48
which is why it's cheaper to call more closely related methods. 21:49
Maybe that's why mayors are always awarding contracts to their relatives...
svnbot6 r14590 | fglock++ | MiniPerl6 - added a partial (but working) MiniPerl6 parser 21:50
TimToady it's a MiniPerl<mumble> parser :) 21:51
audreyt TimToady: MP6 allows some weird binding constructs 21:52
sub f ({ foo => $x[0], bar => $x[1] }) { ... }
for example.
it's very handy, but entirely sure of sanity
21:52 hexmode joined
audreyt s/entirely/not entirely/ 21:52
lichtkind TimToady yes i grok that slowly and itts also coherent to have such thing if we already have an smartmatch operator, unfortunatly i dont understand your jokes fulle since its not my mother tongue
anatolyv next silly question. IIUC sigils specify the container type, that is "my $foo" is Scalar, "my @bar" is Array etc. But is that _all_ they do? That is, if I write "my $foo is MyScalar" and "my @foo is MyScalar", do I get identical behavior with merely (in the latter case) an inappropriate name? 21:57
audreyt anatolyv: in calls and assignment, they also serve as context hinters 21:58
S03:162
the @ and % sigil has an implicit list() around it
added automagically
in rvalue positions that are determined to be slurpy 21:59
in lvalue position for assignment, they cause a different infix:<=> macro to fire
such that the rhs is parsed as listop, not normal infix rhs term 22:00
and also inflicts the said implicit list() for the arguments supposed in the listop rhs.
TimToady which is why we can say @foo = 1,2,3 in Perl 6
audreyt that's all they do
anatolyv audreyt: but apart from that (did read the S03:162 thing), the actual behavior of the container is completely determined by the MyScalar class, right?
TimToady whereas Perl 5 requires @foo = (1,2,3)
audreyt anatolyv: that is correct.
in fact, the $ sigil in rvalue position cause an implicit item() around it. 22:01
anatolyv audreyt: is it specified in S?? or wherever how MyScalar actually implements that behavior? That is, what its methods should be etc.?
audreyt while the & sigil does not do that.
well, minimally it should implement infix:<=>, item and list 22:02
but no, this is not mentioned anywhere.
actually you can omit the list method
and count on the autofallback
where everything is a list of one item 22:03
it's also possible that they should be called ITEM and LIST :) 22:06
after VAR
svnbot6 r14591 | audreyt++ | * recover the misdeleted AST.pm
audreyt to avoid conflict with ordinary method namess.
22:06 rodi joined
audreyt same motivation as the renaming of .meta .type .variable etc 22:07
anatolyv ah, right.
audreyt but the idea is really simple
everything is an object if you only consider binding with full "is rw" semantics
once you consider rvalues, you need the ITEM to convert a Scalar of Int into a Int 22:08
ITEM on a Int is just itself
once you consider rvalues made in list context
then you also need LIST to convert an Hash into a List of Pair
since ITEM of a Hash is just itself and you don't want that.
and that's all, actually. VAR() is a noop to inhibit the autoannotation of ITEM and LIST.
end of (hopefully making some sense) explanation 22:09
anatolyv audreyt: what I'm hazy on is, if I have something like "my MyType $foo is MyClass", which of the two classes, MyType and MyClass, is responsible for implementing which behavior we expect from $foo. From what you're saying I gather that all MyClass is supposed to do is handle assignment and context transformations.
audreyt yes. and it receives a constraint of yType 22:10
MyType
which it is free to ignore
22:10 shobadobs_ joined
audreyt also it will be assigned a ::MyType protoobject upfront 22:10
anatolyv audreyt: all method calls on $foo, whatever they are, go to MyType. All operators on $foo.. well, I don't know, I guess the builtins only specialize to Int Str etc. and you need to write others.
audreyt which follows the normal assignment rules
22:10 Limbic_Region joined
audreyt all method calls on $foo normally goes to whatever MyClass.ITEM says. 22:10
anatolyv oh. 22:11
audreyt usually it's a MyType object. but you never know. maybe it's a derived class.
callMethod =<< readIORef dollarFoo
in haskell speak. where readIORef is the ITEM part
so if you say
my $moose is Int := 123; 22:12
then you don't have a Scalar
and assigning into $moose fails with Int.infix:<=> not found.
anatolyv I can say that??
whoa.
audreyt but you can use that in rvalue
because Int.ITEM is just identity
you can also Int.LIST into a seq of one item
which is also identity
this is how we implement subroutine bindings 22:13
anatolyv can I say my $moose is int8 := 3; ?
audreyt sub f (Int $x) { ... }
here $x is Int!
not Scalar of Int
because by default unless you say "is rw" we don't alloc a Scalar
and as such $x=1 fails because Int doesn't handle assignment.
and yes, it'd be possible to say it's a int8 :=3.
still making sense? :) 22:14
anatolyv yes, perfectly :)
audreyt (patch very much welcome to S* to make it clear to non#perl6 people as well :))
anatolyv so when I call f($expr), $expr is computed and an Int object is := to it, which will fail at runtime if... er, if it can't be coerced into Int? 22:15
audreyt well, ITEM($expr) is calculated
then yes, if ::Int(ITEM($expr)) fails, it's a runtime error 22:16
we can sometimes lift that to compile time
but in general it's a runtime check.
anatolyv audreyt: this binding part, where we don't allocate a Scalar but only an Int if it's not rw - should be part of S* or pugs-specific? 22:17
TimToady though with luck it's already checked by the MMD dispatch
audreyt well, the spec only says it must reject assignment
it doesn't say that WHAT(VAR($x)) must be Int
and not ScalarReadOnly
I think it's deliberately vague
anatolyv yeah
audreyt to allow different strategies
but I'm not TimToady so I don't know :) 22:18
TimToady what makes you think TimToady knows? :)
audreyt TimToady often knows if it's deliberately vague or accidentally vague
or just vaguely vague.
TimToady but I do accidental things deliberately all the time...
audreyt mmm Monte Carlo 22:19
TimToady I suppose the reverse also happens occasionally.
[particle] mmm accidental deliberation
anatolyv audreyt: and to have MyClass as a custom array or a hash, all I do is implement circumfix:<[ ]> etc. in it? 22:20
audreyt: and assigning List values to it, I guess.
audreyt that is correct.
TimToady postcircumfix, surely 22:21
audreyt its infix:<=> will always expect a *@foo
anatolyv er, sorry, post, yes.
audreyt because the metamagical parser ensures it's a flattened slurpy list on rhs
and the actual signature better agree.
anatolyv audreyt: what happens now in pugs when I write "my $x = (1,2,3)"? 22:22
audreyt: is that the correct behavior (that it works)? 22:23
audreyt sure
it evaluates infix:<,> with three arguments
which creates a Seq object
well, for sake of discussion it's a List object. 22:24
and then it calls ITEM() on it
which is identity operation
then it triggers Scalar.infix:<=>
specifically
VAR($x).infix:<=>(ITEM(::List(1,2,3))) 22:25
we have this weird magic in Scalar =
that checks if the incoming thing isa List.
if it is it allocates an Array
then call Array.infix:<=>(LIST(::List(1,2,3)))
svnbot6 r14592 | fglock++ | MiniPerl6 - implemented "Apply" node
audreyt and then put that Array object into $x. 22:26
this is weird special Scalar magic
that doesn't happen anywhere else.
it's documented vaguely in many places :)
TimToady it's placed vaguely in many documents.
[particle] is it linked smartly? 22:27
anatolyv audreyt: so after this is done, $x is still a Scalar container which contains an Array object. Right? Unlike "my @x = (1,2,3)" which will be an Array container which contains... ugh... many Num objects.
audreyt that is correct. 22:29
to be even more pedantically correct, the Array contains one part 22:30
I mean one feed
is Seq
of Int
22:30 limbic joined
audreyt (to see why that needs to be the case, consider my @x = (1, 2, 3, 4..*, 9..*, 'a'..*, =<>).) 22:31
anatolyv audreyt: is there any practical differences between the two scenarios in terms of what ends up in $x versus @x? Both can be subscripted... their subscripts are lvalues... even WHAT seems to say the same thing for them.
it just says ::Array in either case.
audreyt the difference is just if you want it to ITEM most of the time
anatolyv this is because WHAT actually acts on the ITEM of $x/@x?
audreyt or you want it to LIST most of the time.
yes, that is correct. which is why you need WHAT(VAR()) 22:32
to get the true container type.
svnbot6 r14593 | fglock++ | MiniPerl6 - implemented "Call" node
audreyt in which case one is Scalar and one is Array.
because WHAT is implicitly WHAT(ITEM())
anatolyv er.
audreyt and you need the VAR to shut the autoITEM down.
anatolyv "my $tt = 1,2,3; WHAT(VAR($tt));" tells me... ::Int! 22:33
audreyt yes, because a lhs $ sigil parses as normal infix for =
so you just said
(my $tt = 1), 2, 3;
anatolyv "my $tt = (1,2,3); WHAT(VAR($tt));" tells me... ::Int!
er
wanted to paste that into pugs, sorry :)
now it says ::Array again. 22:34
audreyt whew :)
anatolyv but not ::Scalar :)
audreyt [particle]: no. S02:1435 is the canonical sentence on that 22:35
yeah and that's abug :)
anatolyv whee! :)
[particle] huh?
oh, smartlinks. gotcha. 22:36
audreyt and it's linked in t/var/autoref.t
but not to that sentence
but the para above that. fixes welcome
[particle] is buried in parrot bugs
svnbot6 r14594 | fglock++ | MiniPerl6 - implemented "Bind" node 22:37
[particle] ...they squirm, squawk, talk, and bite!
anatolyv audreyt: what does VAR produce when applied to $foo is MyClass - the actual object of MyClass that implements $foo? 22:38
Limbic_Region yes, but do they go *splat* when you squash them?
TimToady hmm, I still think the "subset X of (A|B)" syntax is insane and should be "subset X of Any where (A|b)".
[particle] yes, which is why i *love* my job :)
timtoady++ 22:39
can subset foo where (...) imply 'of Any' ? 22:40
TimToady it could, but there's something to be said for forcing people to think about what the actual base type is.
or ought to be...
doesn't actually make much difference for objects, but it does when you start subsetting value types 22:41
[particle] true, but it would subset declarations less verbose
TimToady anyway, I'd definitely prefer "subset X where A|B" over "subset X of (A|B)" on the assumption we really are constraining to a list of possibilities, not constructing a type that is a set of types. 22:48
22:48 frederico joined
TimToady Junctional types are not really sane. 22:48
Junctional constraints are fine though. 22:49
anyway, I just noticed that MiniPerl6 is using junctional type notation, and it bugged me. 22:50
cognominal speaking of junction, I have trouble to understand the remove method of Set.pm :( 22:52
I can't grasp what means none(@items)
ha, ok. got it. 22:55
TimToady seems like it would have been a lot clearer with $_ !=== any(@items) 22:56
cognominal indeed
TimToady or not $_ === any()
since English tends to do that not raising. 22:57
22:57 hexmode joined
audreyt TimToady: uhm. it shouldn't bug you 23:01
S06:1505
and 1507
it's canonicalized shorthand
:)
(and operationally equivalent) 23:02
Anywhere you can use a single type you can use a set of types, for convenience
specifiable as if it were an "or" junction:
my Int|Str $error = $val; # can assign if $val~~Int or $val~~Str
so seems to me that the "of (Foo|Bar)" is allowed when "of Foo" is allowed
I finally found a sane encoding for tagged unions, so I'd like to not have that slilp :) 23:03
*slip
clkao: where is this pullyu program ? 23:08
I'd like to sync up and send out some test invitation now
TimToady audreyt: but that's not really true. class Int|Str { method new {...} } is not allowed. 23:10
audreyt Juerd: can I mkdir /var/svn for repo?
TimToady my Int|Str $x .= new is also a failure
audreyt TimToady: it's not a type there though.
and I imagine in the second case $x can't be initialized 23:11
so it's Undef.new
and fails
or it's Failure.new
and fails
but as a type (instead of proto) it's kosher
i.e. it's not a junctional type, it's a union type
TimToady as a constraint it's kosher
Juerd audreyt: I prefer /data/svn
audreyt I'll use that then
Juerd: you okay with feather being pugs's master repo? :) 23:12
Juerd audreyt: I'd like to keep system directories for their intended purposes, as per Debian packages.
clkao audreyt: svk/utils
audreyt clkao: ack
TimToady whether a constraint is a type is gonna depend on how we define "type"
Juerd audreyt: Depends how much bandwidth that'll use. Can you estimate?
audreyt no. what's the cap?
svnbot6 r14595 | fglock++ | MiniPerl6 - implemented "Lit::Object" node 23:13
TimToady whatever. given a choice between implemented with "of" and unimplemented with "where", I'll pick implemented. :) 23:14
audreyt :)
also, where with junctions is almost impossible to make into compiletime check
and of with unions is trivial to make into compiletime check
which may also be awin
(i.e. in MMD)
Gothmog_ generalization, I mean it sounds kind of like having different verbs for escaping out 23:16
of different kinds of loops.
Oops, sorry. Doesn't mean to.
audreyt suspects Gothmog_ is compiling lwall.quotes 23:17
Gothmog_ Probably. ;-)
TimToady but I'd like to preserve the notion that a subset type knows what it's base type is sufficiently that a generic routine could allocate a temporary value of that base type. 23:18
*its, even
I could give you more quotes if you like.
audreyt TimToady: but isn't the algorithm as simple as running GCD on it?
on them that is 23:19
TimToady in theory. question is whether it's worthwhile forcing the declarer of the subset to think about it. dunno...
and in this particular usage it just seems to make the subset not very "sub" 23:22
audreyt Juerd: maybe we'll run it for a couple weeks and measure 23:23
Juerd: and if that proves to be a problem, then we move to perl.org or googlecode
the url is always svn.pugscode.org
and UUID will stay same
so should be transparent to users
Juerd Okay 23:24
[smash] svn.pugscode.org TTL at name servers it's even very low :) 23:25
5 hours
audreyt perfect for nomadic repos...
or was that monadic...
[smash] true
hehe 23:26
nomadic i guess
23:29 larsen_ joined
TimToady ?eval subset X of (Int|Str); my X $x; $x.WHAT 23:30
23:30 evalbot_r14583 is now known as evalbot_r14595
evalbot_r14595 Error: No compatible subroutine found: "&of" 23:30
TimToady ?eval subset X where (Int|Str); my X $x; $x.WHAT 23:31
evalbot_r14595 ::X
TimToady looks like the of syntax isn't even supported in the Haskell parser...
?eval subset X of Any where Int|Str; my X $x; $x.WHAT 23:34
evalbot_r14595 ::X
TimToady I guess the Haskell parser is agreeing with me. :) 23:35
though I'd like to be able to get at that "Any" type somehow... 23:36
svnbot6 r14596 | fglock++ | MiniPerl6 - implemented "For", "While", "Return" nodes
TimToady ?eval subset X of Any where Int|Str; my X $x; $x.WHAT.of
evalbot_r14595 Error: No compatible subroutine found: "&of"
TimToady ?eval subset X of Any where Int|Str; say X.WHAT 23:37
evalbot_r14595 Error: No compatible subroutine found: "&X"
TimToady ?eval subset X of Any where Int|Str; say ::X.WHAT
evalbot_r14595 OUTPUT[X␤] Bool::True
23:37 fglock joined 23:38 ashleyb joined
TimToady subset Odd of Int where { $^num % 2 }; ::Odd.of 23:40
?eval subset Odd of Int where { $^num % 2 }; ::Odd.of
evalbot_r14595 Error: No compatible subroutine found: "&of"
audreyt (it's not implemented in normal runcore :)) 23:42
TimToady ?eval subset Odd of Int where { $^num % 2 }; Odd
evalbot_r14595 Error: No compatible subroutine found: "&Odd"
TimToady that's a bug 23:43
oughta at least introduce the name.
?eval my NoneSuch $x; 23:45
23:45 evalbot_r14595 is now known as evalbot_r14596
evalbot_r14596 \::NoneSuch 23:45
23:45 nipotaway is now known as nipotan
TimToady and that should really fail... 23:45
TreyHarris if i do: my $x = 3; $x = 4; $x := 5; 23:48
is there any way I can do something with another bind or with VAR so that "$x = 6" will work again? 23:49
i thought of "$x := undef", "$x := Scalar", "$x := Scalar(6)", "$x := Scalar.new(6)"... none of those work 23:50
"$x := *" binds $x to Inf :) 23:51
23:52 Psyche^ joined
audreyt TreyHarris: it's a bug :) write a test? :) 23:59