-Ofun: xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6
Set by apple-gunkies on 11 November 2005.
dduncan ok 00:04
audreyt theorbtwo: in addition to that, if we are to reset environmental bindings based on the temporal constraint, we wouldn't be able to talk about ancient history (or even astronomy) with terms (re)defined in modern times... 00:08
theorbtwo Hm, I see your point.
Well, points. 00:10
audreyt :)
dduncan fyi, I'm now come to the time that I need 'trusts' to work, especially now that private attrs are actually private 00:59
since there doesn't seem to be a test for trusts, I'll make one now
audreyt good!
stevan_: we need to figure out how to make "trusts" work in minilang 01:00
dduncan would it be possible to implement trusts today?
if not, then my perl 6 stuff won't run by christmas like I want, without hackery
audreyt dduncan: I'll see your test first before deciding :)
dduncan its very simple 01:01
two classes
class A declares $!foo, and no accessor method
class B needs to see and/or modify $!foo on any A objects it has
class A declares that it trusts class B 01:02
so that should work
audreyt ok
dduncan and it needs to work for any other kind of private attr, like a @!bar or %!baz 01:03
audreyt so the syntax would be
$!a!foo = 5 01:04
or something like that?
or just $!a!foo
dduncan the syntax would be like a class A object modifying another class A object
audreyt I need to see the test :)
nopaste it?
dduncan eg, $other_obj!foo
will do if server down 01:05
should be written within a half hour
audreyt my Class $obj .= new; 01:11
hmm
my Class $obj != new;
# doesn't make sense
wolverian ow, isn't that ambiguous?
audreyt probably not... we can just rule out the != form and declare it to be always infix 01:14
infix unequals, that is
pugs currently handles it that way anyway
dduncan: I've kluged so it works. 01:15
a proper fix awaits minilang integration 01:16
dduncan: care to apply this patch locally?
perlcabal.org/~autrijus/tmp/bangKlugeTrusts.diff 01:17
dduncan give me a few minutes 01:19
but before I apply the patch, I'll give you my test so that you can see that it works for you
its almost done
stevan_ audreyt: ping 01:32
pasteling "dduncan" at 24.108.164.7 pasted "first draft of t/oo/trusts.t" (46 lines, 878B) at sial.org/pbot/15091 01:33
audreyt stevan_: pong 01:34
stevan_ audreyt: there is no concept of private in the metamodel currently
audreyt dduncan: all tests pass here
dduncan and they fail here without the patch ... will try with it 01:35
stevan_ I have been punting on this because it has been in a state of flux with @Larry
audreyt stevan_: I think it's now reasonably clear
as per latest s12
stevan_ goes to take a look
I have been out of the loop with p6l because of $work 01:36
audreyt nodnod
stevan_ where is the latest?
dduncan fyi, I will expand trusts.t to use a third class C, which tries to do the same things B did, and should fail due to not being trusted ... to check that your patch doesn't open to everyone
stevan_ I found ti
audreyt stevan_: the cpan bible is also updated 01:37
stevan_ svn.perl.org/perl6/doc/trunk/design/syn/S12.pod I would assume is the most up to date
is openfoundry still down? 01:41
audreyt yeah, but about to be up 01:42
stevan_ ok
01:42 stevan_ is now known as stevan
audreyt (reasonable guess, as it's 9:42am here) 01:42
pause.cpan.org/incoming/Perl6-Bible-0.23.tar.gz
just uploaded this
brb 01:44
stevan I think $Larry[0] is on crack
clkao XD
stevan you can't easily mix two object models
audreyt I think it's blue sugar cubes
stevan prototype and class based
:)
*sigh* 01:45
audreyt I thought minilang is fairly proto based
since we clone class's attrs
stevan no, it is a classic class based approach ala CLOS/Smalltalk
prototype based means no classes,.. 01:46
at all
see the MiniPrototype model in Perl6-MetaModel
audreyt right
but from what I gather on p6l, what's important is not the underlying calculus
stevan its how the user can use it?
audreyt yes
"prototype" to $Larry is probably "eigenclass that does not inherit from class" 01:47
stevan yeah
audreyt which is fine in minilang
stevan I still think he is eating too many blue sugar cubes :) 01:48
my biggest concern with the prototype thing
is that it is very difficult with prototype based models to do MI effectively
they are typically (at least in my experience) SI models
MI in prototypes tends to look too much like mix-in hell 01:49
stevan wrote a mix-in function in JS once,.. it was ... >>shudder<< horrible
audreyt I think it's reasonable to think that if you want MI and @superclasses
then you are using the class-based architecture starting with ::Class.
I can't see much alternatives.
stevan yes
I think you are right re: eigenclasses
you can mimic most of the useful parts of prototype models with that 01:50
audreyt yup
stevan started with JS, so he has been bitten many times by prototype models
I am not as wide eyed as all the JSAN crew
audreyt mm, right, one of which orks cow with you :) 01:51
stevan :)
yup
however, I do think we can easily create a prototype based model in the mini-lang following the MiniPrototype model
I stole it from Oleg anyway,.. the scheme version was pure :) 01:52
in fact, it would probably be best built on top of the current metamodel
we can emulate a p5 model that way too 01:53
audreyt yup
stevan has decided to look upon the mini-lang metamodel like the Parrot metamodel
one metamodel to implement them all!
audreyt praises Oleg for crazy^Winspired brilliance
stevan oleg++ :) 01:54
so lexical methods are how we are doing private methods now? 01:55
audreyt yes 01:56
and they live in a space unchartered by %methods
stevan yup
audreyt they are essentially another subspace
stevan %private_methods
audreyt yup 01:57
stevan a slight change in the dispatcher should be able to handle them
I think we should add *_private_method methods
it seems like code duplication, but I think it will make it easier to construct classes 01:58
audreyt I concur
but roles first
:)
stevan dammit,.. stop agreeing with me :P
audreyt no, I won't!
stevan we should stage a mock fight,.. just to stir things up 01:59
audreyt Test::MockFight
stevan :D
so with roles
I am currently blocked on the best way to do collect_all_roles
it needs to recursively gather a list of unique roles
audreyt and why could you not use a lexical state aka $counter? 02:00
or do you need .clone natively?
stevan was trying to be good,... pure ,..... functional :P
audreyt "generating unique" is not a functional thing to do :)
unless we distribute the pad with an infinite support of uniques 02:01
which wouldn't work anyway across compilations
so just use a lexical state :)
at least it's not global state ;)
stevan ok
audreyt and in fact nothing in minilang is global 02:02
I need to run to $job in a bit
see you in ~8hrs
stevan ok, I only have a little more time until @parents arrive anyway,...
audreyt allocs two days per week for $job and three for $pugs 02:03
stevan I will finish S12 and do Roles late-tonight/tommorow
audreyt cool!
stevan++
stevan allocs as much as possible for $pugs and delegates $job to <other employee>
audreyt lol
stevan :)
audreyt $job is fun though, I get to play with Jifty, which rocks more by day
stevan yeah I have been keeping an eye on that 02:04
audreyt thinks Jifty should be ported to p6 some day
pasteling "dduncan" at 24.108.164.7 pasted "second draft of t/oo/trusts.t - catches errors, tests expected failures" (113 lines, 2.8K) at sial.org/pbot/15092
dduncan audreyt, this should be a more rigorous test
audreyt dduncan: good
please commit it once the repo is back 02:05
dduncan and it also traps errors to say ok/not regardless of failures
audreyt I'll bbl
nodnod
dduncan will do
stevan enjoy $work
dduncan I will now apply your patch and see what affect it has
stevan is starting to like S12 the more he reads it 02:06
audreyt stevan: good, I think it's sane and we should sync to that page :)
stevan the '.' means autogenerate accessors is a nice approach
audreyt and it's the first time I think will form a solidish semantic basis 02:07
prior to that is' almost all handwaving on semantics layer
stevan audreyt: I am mentally desugaring a lot of this stuff
yes I agree (on both points)
dduncan hmm, it appears is_deeply may be backwards regarding its args 02:08
stevan but so far I think everything can be constructed with the current model,..
and if I find something that can't I will figure it ou
t
dduncan seems that is() has the arg order [got, wanted], while is_deeply is [wanted, got] 02:10
is that reversal intentional?
talking about Test.pm
audreyt probably not, fixes welcome 02:11
I gotta run... &
dduncan will do ... will reverse is_deeply
stevan S12/Attributes++ # finally some real clarity on the subject :) 02:12
dduncan since $var == $literal is the more common order
stevan dduncan: I am sure it is not intentional
feel free to change it
dduncan will do
stevan consistency is always a good thing
dduncan of course, what takes the cake is that the Test.pm docs disagree with its code on this matter 02:15
the code is incorrect, docs correct
will fix code
clkao are synopsis in svn? 02:16
stevan clkao: yes, svn.perl.org/perl6/ 02:17
dduncan hey, the server's back up ... and just in time! 02:39
svnbot6 r8372 | stevan++ | - Moved all of t/pil/* tests related to the metamodel to t/pil/metamodel/
r8372 | stevan++ | - removed t/pil/wanted_features.t, as I no longer want those features :)
r8372 | stevan++ | PIL/Native/Bootstrap.pil
r8372 | stevan++ | - simplified some Role bootstrap code (please ignore the commented out hacks)
r8372 | stevan++ | - added new S12 NOTE annotations to indicate things to think about in light
r8372 | stevan++ | of the new version of S12
dduncan I can commit directly and no merging
now just pushed the Test.pm fix 02:45
svnbot6 r8373 | Darren_Duncan++ | r1502@Darren-Duncans-Computer: darrenduncan | 2005-12-21 18:42:52 -0800
r8373 | Darren_Duncan++ | /ext/Text : updated Test.pm to fix the arg order of is_deeply() so it matches its own docs, is consistent with other funcs; also removed all trailing whitespace in file
dduncan er, s/x/s/
pushed trusts.t 02:53
svnbot6 r8374 | Darren_Duncan++ | r1504@Darren-Duncans-Computer: darrenduncan | 2005-12-21 18:51:47 -0800
r8374 | Darren_Duncan++ | added new test t/oo/trusts.t so a class trusted by another to see its privates is in fact able to, but no one else can
theorbtwo wonders if there's also a "friends with benifits" trust level. 03:00
clkao audreyt: do i still need the bandaid? 03:13
dduncan audreyt, your patch did have an effect, but it isn't sufficient 03:19
but now you have the committed test to work with 03:20
you can also tell me if my test is faulty 03:22
most of it relies on pugs dying when it can't see/set an attr, and not dying when it can 03:23
audreyt dduncan: my patch is not sufficient; it relaxes things too much 03:26
I'll revisit
but for now it should make your code work
clkao: you do, will revisit, but not today
& 03:27
svnbot6 r8375 | autrijus++ | * Kluge $obj!method so it can serve as an lvalue in a
r8375 | autrijus++ | trusted class -- it's currently to lax, will revisit.
dduncan I'll let you know if anything in my actual code doesn't work, within a few hours 03:42
but if the test is to be taken at face value, the lvalues work, but not rvalues 03:44
will know soon if that actually affects me 03:45
Alias_ audreyt: ping? 05:12
05:17 kakos` is now known as kakos
audreyt Alias_: pong? (@ work) 05:17
dduncan but I can check back tomorrow 10:14
it would probably help if there was something in /examples that demonstrated both creating and parsing yaml 10:15
luqui hey, how do I get the JS backend to see the modules in lib/ 10:20
i.e. I'm testing Parse::Rule and it's just saying "Can't locate Parse in @*INC..." 10:21
audreyt dduncan: we'll hack emitting support this weekend
dduncan allo 10:22
thank you
that should allow me to actually follow the suggestion of using YAML as Rosetta::Engine::Native's file format 10:23
audreyt luqui: at this moment you need to put "use Parse::Rule" in the test file
and set $ENV{PERL6LIB}
dduncan: cool
luqui okay, the latter was what I needed
dduncan and now I will to bed, as it is 2:24am 10:24
audreyt good night
off $job &
dduncan fyi, in the near future I'll probably update Locale::KeyedText so it can use YAML as a template file format option as well 10:27
but it is not urgent
svnbot6 r8382 | luqui++ | Hopefully wrote the quantify combinator. Pugs is being a bitch and keeping me from testing it. 10:48
amv umh.. so what is all the talk about javascript? is there a location where i could read more about what you are doing? 11:11
theorbtwo is also rather wondering this. 11:17
GeJ TaPL arrived, I will finally be able to understand what you guys are talking about :) 11:27
11:30 DesreveR is now known as r0nny
gaal audreyt: re: lexical alias for each "our" var: how would that work in the case of a "real" lexical with the same basename already existing? 11:31
(what's a good name for "our" vars nowadays, anyway? not globals, not package vars...?) 11:32
theorbtwo "our" vars?
Lexically visible globals is the 3-dollar phrase.
gaal theorbtwo: our $var
theorbtwo Yeah, I know. I'd call them '"our" vars'.
gaal they aren't quite global though. 11:33
what does the phrase "3-dollar phrase" mean? :)
like, poor man's million-dollar phrase? :) 11:34
theorbtwo They're as global as any other sort of global in perl.
package x; {our $foo=3;} print $x::foo;
gaal less global than stuff in *. 11:36
theorbtwo Are we talking p5 now, or p6?
gaal 6
theorbtwo Oh.
Nevermind, though. 11:37
Hm, no, continuemind.
What is $x::foo called then?
gaal fully qualified _ _.
our vars (1) don't close and (2) can be accessed w/o symbol table lookup even outside the namespace where they were defined. 11:39
because of sense 2 they can be considered globa..
but 1 is an important distinctive feature, so i'm looking for the phrase to make that distinction. 11:40
theorbtwo I think 1 is best thought of a side-effect of 2. 11:44
In order for closure to happen, there has to be more then one variable with the same name. 11:45
Coderefs get the one that's in scope at the time.
svnbot6 r8383 | kane++ | * make the installation dir a constant for tests
r8383 | kane++ | * and remove it from Config.pm
r8383 | kane++ | * make JIB::Installation set up the proper files if needed
r8383 | kane++ | * so conf.pl doesn't have to anymore
r8383 | kane++ | * tentatively add JIB::Repository::Set
r8383 | kane++ | * add more constants
r8383 | kane++ | * first addition of list_dependencies
r8383 | kane++ | * add some more constants 11:46
r8383 | kane++ | * add a bit of pod
r8383 | kane++ | * add more tests for 020.t
theorbtwo With globals, there is only one variable by that name.
gaal ~2 certainly doesn't cause ~1, though hopefully 2 implies 1 :-)
svnbot6 r8384 | kane++ | * add a testcover target to Makefile.PL 12:27
rafl Good morning kane_ 13:13
What does JIB::Repo::Set do? (I don't have my hacking box handy) 13:14
kane_ rafl: nothign yet 13:16
svnbot6 r8385 | kane++ | * change name of included tarballs from .tar.gz to .tgz
kane_ rafl: hi btw
i had an idea, then that idea didn't work
rafl: but we need a way to define sets (as people can have more than one installation, use more than one repo, etc) 13:17
theorbtwo For that matter, what is JIB?
kane_ JIB Is Brilliant 13:18
rafl kane_: I would not put that into JIB::Repo.
kane_ rafl: yeah, if we keep Repository for the physical location things get stored, that makes sense.. but we need something that is our equivalent of apt/sources.list and manages that 13:19
rafl kane_: How about JIB::Package::Installable or something like that, that abstracts a package inside a repository and reads the repo uris from a config file?
kane_ rafl: my thought too :) but we still need a governing class and a set
might be JIB::Installable, and JIB::Installable::Set
theorbtwo You should probably make that a sources.list.d 13:20
kane_ theorbtwo: mm?
rafl theorbtwo: Even multiple ones. A system wide, a user wide, etc.
kane_ theorbtwo: ah.. this wans't an implemenentation suggestion, but a common terminology :)
rafl kane_: I don't understand what the Set is needed for? 13:22
kane_ to describe a group 13:23
right now, our installation is 1 dir
but if youc ompare that to @INC, that's not accurate
we'd have a group of dirs
hrmpf
so, what do you do when you accidentally delete your .svn dir?
rafl I would not care because I use svk :-) 13:24
kane_ right, now assume i'm stuck with svn on this box because svk isn't playing nicely
/then/ what to do?
rafl Maybe check out a new copy and merge your changes between this and your modified copy.
kane_ grumbles 13:25
audreyt "svn up" will fix it 13:26
with luck
in the parent dir
kane_ [kane@myriad ~...JIB/t]$ svn up
svn: Working copy 'src' not locked
rafl kane_: I still understand what the Set has to do. A Set for multiple versions/authorities/.. of one module?
kane_ rafl: @INC would be a 'set' 13:27
because it's a set of directories
just like mutliple repositories would be a 'set'
theorbtwo But, um, @INC is ordered.
audreyt kane_: rm -rf src and then svn up
kane_ k
theorbtwo: yes, so?
audreyt @INC would be an ordered set
theorbtwo Aren't sets unordered?
kane_ audreyt, thanks that worked 13:28
audreyt sets may be totally, or partially, ordered
kane_ theorbtwo: mathmatical sets might not be
but this one would be
audreyt if my math hadn't failed me
rafl kane_: Why not an ordered list?
kane_ i just said 'ordered list'....
theorbtwo OK, sorry for bringing it up.
kane_ i think we just got a few things confused here 13:29
rafl agrees 13:30
kane_ 'set' 'group', 'list', 'congregation', 'heap', 'bunch', 'stack' -- all fine names in this context 13:32
svnbot6 r8386 | audreyt++ | * PIL.Native: Autoboxing support for every native type, 13:43
r8386 | audreyt++ | with builtin autoboxed classes that has ".unbox" as
r8386 | audreyt++ | their only method:
r8386 | audreyt++ | "::Bit ::Int ::Num ::Str ::Seq ::Map ::Sub"
audreyt what about "Laminated Lattice" or "Cobordant Manifold"? 13:45
kane_ i hate svn 14:22
in fact, i hate all vcs
so i did an svn delete and an svn add again of the same file
gaal Laminated Lettuce and Cabbage Manifold? 14:23
kane_ now it insists teh file doesn't exist.. although when looking at it, it does, and svn claims it's under vcs
except, it won't let me commit
theorbtwo "Won't let me" as in?
kane_ File not found: transaction '8386-1', path '/misc/sixpan/JIB/t/src/p5-complicated-deps/_jib'
it's doing that for all flies i've deleted, and re-added with different content 14:24
theorbtwo That's, um, interesting.
kane_ suggests the words 'fucked up'
theorbtwo That works too.
Have you done an "svn up"?
kane_ yeah.. i'm juggling files now 14:25
moving them away, updating, moving them back, etc
i positively hate applications that litter files in my working directories 14:26
avar not really a perl6 q, but do you have an idea of how to make HTML::Parser report the content of a tag I extract, using avar.pastebin.com/475069 currently
I can use text_h, but I want to know the element and its attributes too
svnbot6 r8387 | kane++ | * add a repo.pl and pkg.pl include script for tests 14:29
r8387 | kane++ | * remove some hardcoded paths in favor of what these scripts return
r8387 | kane++ | * add all test packages from prototype
r8387 | kane++ | * fix typo in repository.pm
r8387 | kane++ | * exclude .svn dirs hardcoded in jib::source # XXX fixme
r8387 | kane++ | * add some docs
avar mm, I'll just ask some more in #perl
audreyt kane_: svk fixed all these problems and then some... are you on OSX? 14:33
kane_ audreyt: yeah, but on 10.3.9 -- svk.dmg doesn't work there
and grabbing it from cpan made my computer unhappy
audreyt and you don't like fink
kane_ i like fink well enough, but that blew up heavily too
it's been a few weeks now, it might be fixed by now 14:34
audreyt hmm wait... how far ago is 10.3.9?
kane_ i upgraded to 10.4 at the office, but that messed up a lot of things too
last 10.3 release
luqui svk trades genuine problems for annoyances
audreyt rt.openfoundry.org/Foundry/Project/...1.00-2.dmg # this may work
luqui I'd like some nice balance between svk, svn, and darcs
audreyt luqui: wouldn't we all... :)
kane_ audreyt: wouldn't i want the bugfixes from later svk's?
audreyt kane_: you can manually override lib/SVK/* 14:35
which will bring you the bugfixes without the XS pain
kane_ if that's Safe, i'm happy to give that a go
audreyt all it wants is a bincompat libapr etc
kane_ just unfucking the last svn bit here first
audreyt k
kane_ oh how i hate software 14:40
svnbot6 r8388 | kane++ | * add a jib-create script
r8388 | kane++ | * add some source files svn was reluctant to add before
luqui wonders what kane_ doesn't hate 14:42
kane_ strawberries
they've never offended me
luqui they have me
they're all like "I'm ripe I'm ripe" and then they're totally not
kane_ you're right... they're bastards 14:43
qmole lol
kane_ well, then i give up.. i hate it all
luqui so what's that jib stuff? 14:44
audreyt luqui: search.cpan.org/dist/Perl6-Bible/li...le/S22.pod
theorbtwo JIB is a meaningless recursive acronym.
luqui ooh, a synopsis I haven't seen
audreyt JIB: "JIB Inverts BIJ" 14:45
theorbtwo Interesting, when I asked I got JIB Is Brilliant 14:47
luqui :-p
theorbtwo thinks we should call it YAPMS. Then we can call packages bleaders.
Then we can all die a horrible death at the hands of women everywhere.
kane_ i had 'pms' before.. too many negative connotations
theorbtwo OK, probably not a good plan.
luqui you can't pronounce YAPMS
theorbtwo Yapp-ems. 14:48
You can't decide on a semantic for JIB.
luqui I guess it's as pronouncable as TMTOWTDI
kane_ www.ace.net.nz/tech/TechFileFormat.html#j 14:49
theorbtwo MDIM? Module download, install, manage?
kane_ # it's FREE, which is most important
theorbtwo If we don't care about being three-letter, there's lots of free extensions.
PMS and MDIM are both free on that list. 14:50
audreyt I bet ... is also a free extension
it feels more p6ish anyway
luqui .perl6packagemanagementarchive
kane_ likes jib
luqui that might make some operating systems angry
audreyt DBI-0.14....
...install *.... 14:51
kane_ there's actually nothing really p6 specific about this code
theorbtwo We can call them therefour modules.
audreyt okay, probably not a very good idea
luqui looks like perl 6 alright
theorbtwo We could call them code packages (.cp), and the system cpms. 14:52
audreyt (I think .jib is fine :)) 14:53
oh wait, that would be .jif
stevan starts sips his morning coffee and begins reading the Role section of S12
audreyt I think .jib is beautiful
svnbot6 r8389 | kane++ | * add a pkg.pl script to generate .jibs from src dirs
r8389 | kane++ | * add a repo.pl script to genereate a repository from .jibs
r8389 | kane++ | * and all the other stuff that was in the /last/ commits
r8389 | kane++ | and svn happily messed up -- GRRR
audreyt there. better
stevan I love the smell of autoboxed types in the morning ....
kane_ bows at audreyt
theorbtwo Mmmpf, too many names that don't mean anything.
audreyt curtsies back 14:54
stevan ponders the meaning of "theorbtwo" ;P
theorbtwo At least it isn't /^PI.$/
luqui PIP!!
luqui shuts up
kane_ ok, what's taken the .pie suffix? 14:55
OMG it's free
theorbtwo would guess it's something to do with ponnie.
luqui "Perl Imaginitave Extension"
kane_ s/itave/ary/ ?
luqui that's better 14:56
audreyt I must say .pie looks better (and smells better) than .jib
kane_ maybe we cna go for .ENC (as in Emperors New Clothers)
luqui heh. How many programs use that extension already? 14:57
I think at least three.
theorbtwo You know that'd make a package for osx and apple pie...
s/and/an/
kane_ cires
cries even
luqui punderlicious
konobi .dta death-to-all!
kane_ .jfdi -- Jos' Fine & Dandy Installer 14:58
luqui Who's Jo, and why is there more than one of her?
kane_ hits luqui over the head
luqui is a punctuation nazi
kane_ isn't that punctuation correct? 14:59
audreyt hands kane a punctuation uzi
luqui runs
kane_ heh
audreyt: i'm more oldschool... rusty nails & a hammer
luqui I.::.m... tr:.y.:in.:.g...to:..do:dge...t:he::uzi 15:00
hmm... looks like perl 6
kane_ my cat walking on the keyboards looks like perl6... your point? :)
luqui I guess when every string of characters is a valid program... 15:01
I heard "Bach was original. But then again, it's easy to be original when you write down every possible sequence of notes"
And thus ends the longest OT conversation ever seen on #perl6 15:05
12 lines
audreyt petdance: greetings. sorry that I had not got around on journaling. 15:15
stevan: anything to sync before I fall asleep? 15:24
stevan audreyt: nope, I am working on roles mostly
audreyt cool
I think I'm blocking on roles to do more desugaring and containers 15:25
as I don't feel comfortable hardcoding any more methods on prim classes
stevan yeah, that would make sense
audreyt they should all be role mixins
stevan agreed
audreyt okay
good night, very agreeable stevan :)
stevan good night audreyt :) 15:26
audreyt &
stevan I will try to come up with something for us to disagree upon :)
15:31 stevan is now known as stevan_ 15:39 stevan_ is now known as stevan
avar does p6 have any easy way to define hashes like <> for arrays? 16:40
integral you can't still assign to a hash from a list? 16:41
avar mm
integral eval: %h = <a 1 b 2 c 3>; say %h<a>;
?eval my %h = <a 1 b 2 c 3>; say %h<a>;
16:41 evalbot_8381 is now known as evalbot_8389
evalbot_8389 OUTPUT[1 ] bool::true 16:41
avar heh, no, I don't think so..
integral ?eval my %h = <a 1 b 2 c 3>; say %h<a b c>; 16:42
evalbot_8389 OUTPUT[123 ] bool::true
integral seems to work for me.
avar oh, well actually
I thought %h = (1,2,3,4) had been deprecated in favour of =>
apperently not..
integral well => constructs pairs. And there's some heuristic about lists of pairs, vs. two-at-a-time lists :-/ 16:43
avar b.t.w. 16:46
?eval my %h = 1..4; say %h.perl
evalbot_8389 OUTPUT[{("1" => 2), ("3" => 4)} ] bool::true
avar you can get pretty output like that;)
theorbtwo ?eval my %h = (1..4;); %h
evalbot_8389 Error: unexpected ";" expecting digit, "_", fraction, exponent, term postfix, operator, "does", "but", "is", "^till", "till^", "^..^", "till", "cmp", "<=>", "^..", "..^", ".." or ")"
theorbtwo ?eval my %h = (1..4); %h 16:47
evalbot_8389 {("1" => 2), ("3" => 4)}
theorbtwo You can also return things instead of printing them.
avar that way too;)
theorbtwo ?eval my %h = 1..4.map {$_=>$_}; %h
evalbot_8389 Error: unexpected "{" expecting operator, "does", "but", "is", "^till", "till^", "^..^", "till", "cmp", "<=>", "^..", "..^", "..", ";" or end of input
theorbtwo ?eval my %h = 1..4.map({$_=>$_}); %h
evalbot_8389 Error: cannot cast from VList [VList [VRef <Pair>]] to Pugs.AST.Internals.VCode (VCode)
theorbtwo Ugh!
avar ?eval $! = 1..300; die $!
evalbot_8389 (no output) 16:48
16:48 sili_ is now known as sili
avar that's strange.. 16:48
?eval say ~1..300 16:50
evalbot_8389 OUTPUT[123 ] bool::true
theorbtwo 123?
?eval 1..300 16:51
evalbot_8389 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
theorbtwo ?eval "This is a longer string\n"
avar works on my box
evalbot_8389 "This is a longer string\n"
theorbtwo ?eval say "This is a longer string\n"
evalbot_8389 OUTPUT[This is a longer string ] bool::true
avar ?eval "123 " x 500
evalbot_8389 "123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123
rafl Who's the guy who's responsible for the smoke stuff? 16:53
avar ?eval Ā«0 nĆŗllĀ» 16:54
evalbot_8389 Error: unexpected "\NUL" expecting program
avar ?eval Ā«0 nĆŗllĀ».perl
evalbot_8389 Error: unexpected "\NUL" expecting program
avar ?eval <0 Ćŗ>
evalbot_8389 ("0", "\\")
theorbtwo I'd expect that's an evalbot problem.
avar what's up with that...
?eval <0 ĆŗƦưƔƭ>
evalbot_8389 ("0", "\\\\")
avar sub prefix:<Ć­slenska> (Num $n) returns Str { "foo" } 17:16
sub fƦreyska (Num $n) returns Str { "bar" }
say Ć­slenska 500;
say fƦreyska 500;
what's the practical difference between these two?
PerlJam avar: none?
avar maybe;)
Alias_ seen cwest? 17:57
damned explicit-mode bots 17:58
avar Alias_: use seenserv 17:59
Alias_ "Wildcard SEEN is restricted to admins"
oh, question mark
xgl svn is down? 19:48
Juerd I have no idea. 19:51
xinming xgl: I think so, As I also can't check out the repository 19:55
xgl ls 20:26
dduncan g'day 21:02
nothingmuch lumimies: 21:04
err
luqui: ping
seen luqui
obra: err, you also pijng
ping
use.perl.org/~luqui/journal/28089?from=rss
wrt that, and your question to luqui - this relates the circular prelude idea
basically i proposed that Perl 6's core definition will be written in perl 6 21:05
except for things like IO
even basic math
and then when the code is compiled, high level functions/methods from the prelude will have replacements proposed by the backend
so Perl6::Rule::compile could be provided by PGE on the parrot backend
but stay pure perl in the javascript backend 21:06
furthermore, circularity is promoted
defining functions in terms of each other
that way the backend can replace the part it's most comfortable replacing
instead of a predefined set of "core ops"
see also misc/blondie in the pugs tree
dduncan easy come, easy go ... openfoundry down again 21:40