Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-01-09

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 devogon joined perl6
00:15 sono is now known as sonorous
01:03 Limbic_Region joined perl6
01:10 avar joined perl6
01:11 luqui joined perl6
01:13 [particle] joined perl6
01:21 johnjra anyone know , is flock less overbloated than flock ?
01:22 johnjra than firefox i mean
01:23 Psyche^ joined perl6
01:40 Psyche^ is now known as Patterner
01:55 johnjra joined perl6
02:07 johnjra anyone here know of any software that knows how to do a backup of the harddisk,and then do differential backups ? for windows .ghost or acronis wont do
02:15 araujo joined perl6
02:18 gugod_ joined perl6
02:18 bucky johnjra, unison possibly?
02:18 gugod_ is now known as gugod
02:19 johnjra bucky: where to get htat ?
02:19 bucky http://www.cis.upenn.edu/%7Ebcpierce/unison/
02:24 johnjra can i restore all my stuff with this ?
02:24 johnjra in windows
02:24 johnjra ?
02:26 demy joined perl6
02:28 demy left perl6
02:36 awwaiid .names
02:36 awwaiid er
02:44 johnjra fuck unison,its the lamest thing ever
02:46 allbery_b unison isn't really intended for backups
02:46 allbery_b rsync under cygwin might be usable, but really it's the wrong tool for the kind of backups you probably want
02:47 allbery_b on windows, you really eed something which not only backs up files but also backs up registry settings, which generally can't be done with just a file backup.  I don't think there's any decent freeware which handles that
02:47 johnjra allbery_b: thats right
02:47 johnjra allbery_b: you are CORRECT
02:48 allbery_b (windows likes to keep certain key registry files locked, making it difficult to do file-level backups on them)
02:48 johnjra allbery_b: i have notrotn ghost,but im not really satisfied with it
02:48 SamB besides which, it is kinda hard to partially restore if you backup the registry files whole like that!
02:49 * allbery_b is not really a windows user or administrator but does know just enough to have some idea of what's dangerous
02:50 johnjra so should i use ghost ?
02:50 allbery_b ghost is more about system cloning than backups, isn't it?
02:51 SamB well, does a clone harddrive count as a backup?
02:51 johnjra yeah,well its really good
02:51 johnjra SamB: its the best backup i think
02:51 allbery_b it's a backup, but clones would be hard to do partial restores from
02:51 Psyche^ joined perl6
02:52 johnjra whys that ?
02:52 weinig|food is now known as weinig
02:52 allbery_b I'd expect you would have to do it by hand
02:53 johnjra what do you ean by that ?
02:53 allbery_b ah I see they do push it as a backup product, not just as a cloner
02:54 allbery_b so they do have some kind of restore support.  not sure if that includes related registry foo though
02:55 * allbery_b did say he's not really a windows user; what he knows of ghost is mostly how the non-home versions are used for system imaging
02:59 johnjra dunno about others but for me backup is a real issue
02:59 SamB I should do backups
03:02 * allbery_b does backups but is on OSX and FreeBSD so his solutions wouldn't help much
03:05 johnjra having a heineken after his meal...
03:07 bucky johnjra, ask in ##windows
03:08 Psyche^ is now known as Patterner
03:16 mako132_ joined perl6
03:32 leed joined perl6
03:42 johnjra whats the difference between a textbook , handbook ?
03:44 demy joined perl6
03:44 demy left perl6
03:57 bsb The macro-ish autoproxy for delete & exists sounds similar to Lisp's generalized variables (as I understand it)
03:57 bsb see http://www.cs.cmu.edu/Groups/​AI/html/cltl/clm/node80.html
04:05 lyokato joined perl6
04:26 justatheory joined perl6
04:27 johnjra joined perl6
04:27 Aankh|Clone joined perl6
04:38 johnjra why am i not allowed to use vector<int&> ?
04:41 allbery_b that doesn't look like perl to me...
04:42 johnjra its c++ ...
04:58 jdv79 perl6 has converged on c++?
04:59 johnjra no...just asking...
04:59 johnjra hope i'm not expunged
05:09 dolmans joined perl6
05:10 weinig is now known as weinig|zZz
05:15 autark_ joined perl6
05:24 hype joined perl6
05:24 hype http://kmwarren.imarichkid.hop.clickbank.net
05:24 hype left perl6
05:29 johnjra any girls in here ?
05:37 awwaiid looking for a date?
05:49 johnjra anyone here wanna play some halo : combat evolved demo ?
05:51 johnjra awwaiid: yeah
05:51 johnjra kinda
05:56 awwaiid This channel probably isn't the best for that sort of thing... tend to stick to perl6-related hackery. Surely a turn-on for some, but perhaps not what you seek.
06:00 awwaiid (just a tip :) )
06:02 Alias__ joined perl6
06:05 Alias___ joined perl6
06:14 BooK joined perl6
06:19 DHGE joined perl6
06:36 nipra joined perl6
06:38 nipra joined perl6
06:49 kanru joined perl6
06:52 kanru joined perl6
07:00 deq` joined perl6
07:09 gaal Morning all
07:17 drrho joined perl6
07:34 finchely joined perl6
07:38 pflanze joined perl6
07:39 pflanze Hello. There are some broken links on pugs websites.
07:40 pflanze On http://pugs.blogs.com/pugs/summary/index.html: the weekly summary from 2007.01.01 points go ../2007/.. which doesn't exist;
07:40 pflanze and http://www.pugscode.org/ is pointing to an invalid Pugs::Doc::Hack location.
07:45 devogon joined perl6
07:49 marmic joined perl6
08:00 finchely left perl6
08:02 * drrho is away: cinema
08:27 sunnavy joined perl6
08:41 Maddingu1 joined perl6
08:43 Maddingu1 is now known as Maddingue
09:09 andara joined perl6
09:09 jferrero joined perl6
09:16 spinclad_ joined perl6
09:31 ruoso joined perl6
09:32 johnjra joined perl6
09:37 svnbot6 r15012 | audreyt++ | * Fix Pugs::Doc::Hack link as noticed by pflanze++.
09:58 fglock joined perl6
10:05 fglock [particle]++ # mp6-past
10:16 svnbot6 r15013 | fglock++ | mp6 - added precompiled PAST/Emitter image
10:35 deq`_ joined perl6
10:41 baest joined perl6
10:44 elmex joined perl6
10:54 Alias_ joined perl6
10:54 Alias_ audreyt: ping?
10:55 Alias_ audreyt: I've got bugs with YAML::Syck... in particular it doesn't ignore comments it seems
11:11 asey joined perl6
11:21 Alias_ joined perl6
11:37 buetow joined perl6
11:52 nipra joined perl6
12:24 sibi joined perl6
12:24 sibi left perl6
12:33 ayrnieu joined perl6
12:38 nipra joined perl6
12:45 mako132_ joined perl6
12:56 svnbot6 r15014 | fglock++ | kp6 - updated spec - added desugaring list
12:58 fglock hmm - I need a way to scale mp6 ast transformations into 'pipes'
12:59 Limbic_Region joined perl6
13:10 Khisanth joined perl6
13:10 masak hm, pugs as a password generator...
13:10 masak ?eval [ "a" .. "z", 0 .. 9 ].pick(10).join("")
13:11 evalbot_r15014 "5ap7z03vhc"
13:11 masak :)
13:12 ruz joined perl6
13:13 hcchien ingy: ping
13:19 nanonyme hmm
13:32 elmex joined perl6
13:40 dduncan left perl6
13:42 kanru joined perl6
13:51 thepler joined perl6
13:52 fglock joined perl6
13:59 wolverian ?eval (1..3).join
13:59 evalbot_r15014 "123"
13:59 nanonyme hmm
13:59 wolverian masak, a very slight simplification :)
14:00 nanonyme lovely syntax
14:07 masak wolverian: thx :)
14:08 masak nanonyme: it is, isn't it? gosh, I hope that p6 grows up soon so that more people can appreciate it
14:22 weinig|zZz is now known as weinig
14:50 weinig is now known as weinig|bbl
14:51 [particle] joined perl6
14:51 Odin-LAP joined perl6
14:55 buetow joined perl6
14:58 vel joined perl6
15:05 fglock joined perl6
15:06 fglock I can't figure out a simple way to do ast transformations on mp6's OO ast - HOH is so more simple to traverse
15:12 iblechbot joined perl6
15:13 fglock joined perl6
15:15 svnbot6 r15015 | gabriele++ | 99problems: updated  #13 with another solution and tests
15:16 [particle] fglock: did you see my first take on PAST::Emitter?
15:16 fglock [particle]: yes!
15:17 [particle] can you help me with node numbering?
15:17 fglock looking...
15:17 [particle] right now i've hard-coded '[0] => ' in the ast
15:17 [particle] i need to convert to [\d+]
15:18 [particle] where \d is incremented once for every child node
15:18 svnbot6 r15016 | gabriele++ | 99problems: solved 33 and 34 and updated 31,32 to play nice with them
15:22 [particle] bbi15m
15:30 svnbot6 r15017 | fglock++ | mp6-past - implemented some node numbering
15:32 fglock joined perl6
15:33 fglock [particle]: moving the numbering to the caller node would make it easier to manage
15:43 [particle] thanks, i'll have a look
15:44 luqui joined perl6
15:46 fglock luqui: hi
15:46 luqui hola
15:46 nipra joined perl6
15:46 jferrero joined perl6
15:46 fglock thanks for the BEGIN tips the other day
15:46 luqui did you get something working?
15:47 fglock I guess I'll emulate pads using data structures, as this will give the most flexibility
15:47 avar hashes then?
15:48 fglock a list of hashes, with a special '*' hash
15:49 ruoso joined perl6
15:50 luqui shouldn't * be like a package?
15:51 fglock oh, right - namespaces and pads are separate things
15:51 fglock the idea is to implement this as an optional ast transformation
15:52 luqui that's a neat idea
15:52 fglock so now I'm looking for a way to implement tree transformations on top of mp6
15:52 luqui turn on and off features at command
15:52 fglock yes - high level backends will require different transformations
15:53 * luqui breakfasts &
15:54 fglock mp6 ast definition is a collection of 'classes', so it can't be 'subclassed'
15:56 hexmode joined perl6
15:58 luqui well, there's the PGE on p6 design...
15:58 luqui which I rather liked
16:00 luqui you make a big role which has other classes in it
16:00 penk joined perl6
16:01 fglock luqui: link?
16:01 luqui and then when you, er, subrole it, you can replace some of those classes with new ones
16:01 luqui hmm?
16:01 fglock one of the problems is that mp6 has no inheritance
16:01 fglock it is supposed to be implemented in kp6
16:01 luqui aa soo
16:02 luqui that does make things trickier
16:07 chris2 joined perl6
16:16 Lorn joined perl6
16:24 gaal audreyt: ping    -- trying my luck
16:25 gaal I think I don't understand how separate compilation is meant to work viz. stuff existing in the environment when a unit is loaded
16:25 felipe joined perl6
16:27 gaal I was giving the compilation cache a fresh look, seeing if we can do it in opEval (perhaps adding an evalUseCache member to the EvalStyle).. basically, persistently memoizing parseProgram
16:27 gaal but that won't do, because that is a latter is a function of the current env
16:28 ofer1 joined perl6
16:30 TimToady seems like if you symbolically link into the current environment then you can swap the current environment and still look thinks up there.
16:31 TimToady (regardless of what you mean by "environment")
16:32 TimToady if you use "hard" links then each hard linked object has to be substitutable and hence rw.
16:43 c6rbon joined perl6
16:52 TimToady for some reason I'm bothered by the word "broadcast" in mmd-draft.txt.  it seems to be telling me that an n*m algorithm is turning into an n²*m algorithm...
16:56 TimToady maybe we can optimize away the broadcase if the first compatibility pass notices all the semicolons are consistent...
16:56 TimToady *broadcast
17:10 bonesss joined perl6
17:46 kolibrie is there a regex pattern that is guaranteed not to match?
17:47 kolibrie I want to have a rule to remove headers from certain pages, and would like to have a default rule in the base grammar which will never match, and can be overridden in child grammars
17:48 ingy hcchien: pong
17:49 Gothmog_ kolibrie: What about { fail } ?
17:50 TimToady kolibrie: in theory that's what <fail> does.  But taking a clue from the corresponding P5 idiom you could also write <!before>
17:50 TimToady { fail } would also presumably work
17:50 TimToady though perhaps with a bit more overhead...
17:51 kolibrie TimToady: <fail> is what I was looking for
17:51 [particle] { $$ ^^ } ;)
17:51 TimToady that's not likely to be an issue here, so I'd go with whatever is plainest and works.
17:52 [particle] er, that is, { $ ^ } i guess
17:52 TimToady that would match a null string, I think
17:53 [particle] yeah, that makes sense, it would
17:53 [particle] and null patterns aren't allowed
17:53 weinig joined perl6
17:54 TimToady that's not a null pattern.  null input is certainly allowed...
17:54 [particle] no, { } is a null pattern, but it's not legal, so it can't be used in place of <fail>
17:54 TimToady hmm, yeah, so that'd have to be <!before <null>> or some such
17:55 TimToady which I think can just be reduced to <!null>
17:56 TimToady but <fail> is certainly clearer...
17:56 [particle] indeed, as that's what it's intended for
17:57 Juerd Does /<null>/ match on undef?
17:58 kolibrie I don't see <fail> documented in S05, nor implemented in PCR
17:59 [particle] kolibrie: Bracket rationalization mentions it...
17:59 [particle] It can affect the match if it calls fail:
17:59 [particle]     / (\d+) { $0 < 256 or fail } /
18:00 fglock joined perl6
18:00 kolibrie [particle]: that's { fail }, not <fail>
18:00 TimToady <fail> is mentioned in A05, apparently didn't get copied over.
18:01 kolibrie it has been years since I read the As
18:01 Juerd Is this { fail } different from the ...???!!! fail?
18:02 justatheory joined perl6
18:02 TimToady Juerd: same fail
18:02 TimToady just sugar
18:03 TimToady whether <null> matches undef will depend on how the match was dispatched, and whether it forces ~ on the other arg.
18:04 TimToady the smartmatcher table doesn't talk much about matching undef on the left, except undef "undef" on the right.
18:04 Juerd TimToady: Does that mean that /...{ ... or fail }/ can die, or is it lexically reconfigured for the regex?
18:04 ashelyb_ joined perl6
18:04 TimToady what fail does is always return to its dynamic context, and the dynamic context decides what to do with the unthrown exception
18:04 kolibrie will <fail> trigger an exception, or just return a non-true match object?
18:04 TimToady in the case the context is a regex, so it traps it and backtracks
18:05 TimToady no, it just backtracks
18:05 Juerd TimToady: I see, but isn't that annoying when you actually wanted to fail from a function, for example?
18:05 Juerd A kind of superreturn, but superfail :)
18:05 TimToady there's always die...
18:05 Juerd TimToady: Yes, but then you're at square 1 again: some want undef, some want die, some want undef with a warning, ...
18:06 TimToady these cases don't arise often in practice, I expect
18:06 Juerd Hm, I was thinking of using regexes to validate input
18:07 Juerd Though the common case would of course be to let the entire regex fail, and // on that.
18:07 Juerd (Doesn't mean I'm happy with the synonym though)
18:07 Juerd brb
18:07 TimToady not a synonym, same thing
18:10 TimToady <commit><fail> fails the whole match immediately
18:10 fglock re kp6 ast transform: I could use a modified mp6 "emit" module, which would accept a "visitor"
18:11 [particle] fglock: visitor is a great way to do xforms
18:12 TimToady though I always kinda wondered why mp6 didn't allow at least single inheritance...
18:12 fglock hmm - maybe a hash of visitors, one for each node type
18:12 fglock TimToady: no particular reason, just premature simplification
18:13 [particle] you can query a node for it's parent node type, yes?
18:13 TimToady seems like SI would be easy to emulate where necessary
18:14 TimToady on the other hand if AST transforms really need MI then you end up implementing visitors anyway...
18:15 fglock kp6 will implement inheritance
18:15 fglock visitors make it easier to pipeline AST transformations
18:16 Juerd TimToady: It feels like a synonym, because the semantics differ.
18:16 TimToady the semantics are decided by the caller.
18:16 TimToady you can view <commit> as a variant of "use fatal"
18:16 Limbic_Region eval: my $num = .1 * -1; say $num;
18:16 buubot Limbic_Region: Error: Can't call method "say" without a package or object reference at eval line 1.  
18:17 Juerd TimToady: It's the same keyword, in the same visual context (code), but it one returns from the sub, and the other backtracks.
18:18 TimToady the other returns from the <>.  the regex backtracks
18:18 Juerd Even if at the more immediate level it shares implementation, it'll feel like a synonym :)
18:18 Limbic_Region ?eval my $num = .1 * -1; say $num;
18:18 Limbic_Region hrmm
18:18 Limbic_Region ?eval my $num = .1 * -1; say $num;
18:18 * Limbic_Region apologizes if he just flooded the channel and grrrs at his client
18:18 evalbot_r15017 OUTPUT[-0.1␤] Bool::True
18:18 evalbot_r15017 OUTPUT[-0.1␤] Bool::True
18:19 Juerd TimToady: I know I should be more careful with terminology, but it's hard for me to do that and get my point across; OTOH, now I'm doing neither :)
18:19 Juerd Where I said "backtracks", read: "causes backtracking"
18:20 TimToady :ratchet is also a variant of "use fatal"
18:20 TimToady though more like "use refail"
18:20 Juerd I just think it's a dangerous abstraction
18:20 TimToady find me an abstraction that isn't dangerous...
18:22 Juerd HEh
18:22 Juerd Heh.
18:22 Juerd Unfortunately, I have other things to do. Maybe later I can try again.
18:23 iulus joined perl6
18:24 TimToady shower &
18:26 kolibrie fglock: I would welcome having <fail> implemented in PCR
18:27 kolibrie and having { fail } in a regex cause backtracking rather than dieing
18:27 kolibrie *dying
18:27 svnbot6 r15018 | fglock++ | kp6 - initial commit for an ast traverser module
18:27 fglock kolibrie: looking
18:29 fglock kolibrie: which you using, Regex or Token?
18:29 pasteling "kolibrie" at 66.239.158.2 pasted "testing { fail } in regex" (13 lines, 199B) at http://sial.org/pbot/22229
18:30 kolibrie fglock: regex, but I can use token
18:30 kolibrie both seem to do the same thing
18:31 fglock does it just means 'never match this'?
18:31 kolibrie yes
18:32 kolibrie see the discussion during the last twenty minutes or so
18:33 kolibrie *forty minutes - my time flies
18:34 fglock see Pugs::Grammar::Base in PCR
18:35 kolibrie 'no_match' ?
18:35 fglock yes - try copying it to 'fail'
18:35 fglock might work
18:35 kolibrie looks promising
18:37 fglock though it will not fail the entire regex sentence - that would need some more work
18:37 fglock it will try alternatives
18:38 weinig is now known as weinig|away
18:38 kolibrie to fail the entire regex, TimToady said to use <commit><fail>
18:40 fglock then you'll need to have <commit> implemented :)
18:40 kolibrie I don't need that right now
18:41 kolibrie but it should be added for completeness eventually
18:41 fglock sure
18:41 fglock did <fail> work?
18:41 kolibrie <fail> seems to work after adding '*fail = \&no_match;' to Pugs::Grammar::Base
18:42 kolibrie do you want me to commit?
18:42 fglock yes!
18:42 fglock please add to ChangeLog
18:42 * kolibrie contributes to PCR!! /me does a little dance
18:43 fglock welcome :)
18:45 svnbot6 r15019 | kolibrie++ | PCR: implemented <fail>
18:45 kolibrie fglock: thanks for making it so easy
18:45 iulus left perl6
18:46 [particle] pmichaud++ has scheduled perl6 binding, for loops, and BEGIN/END block implementations for this week. it's possible we'll be passing Test.pm this weekend!
18:48 fglock [particle]: maybe kp6 could target p6-parrot
18:48 fglock hmm - maybe p6-parrot can run mp6 natively?
18:48 [particle] kp6 -> perl6 -> parrot?
18:48 sunnavy joined perl6
18:49 [particle] well, if the requirements for Test.pm and mp6 or kp6 are similar, that's quite possible
18:49 DHGE joined perl6
18:49 fglock the requirements are very lightweight
18:50 fglock only binding and for loops are needed - BEGIN is not
18:50 [particle] oh? maybe we can get together later this week, and give it a go
18:50 fglock sure
18:52 fglock it would be nice if pmichaud got interested in 6-on-6 development - and finish p6-parrot using p6...
18:56 [particle] that's a goal
18:56 [particle] but we need to get Test passing first
18:56 [particle] once it's bootstrapped, then 6on6 is possible
18:56 TimToady I think he is interested, he's just working at it from a different part of the elephant
18:57 fglock it's a very different line of thought - and changing plans is really difficult when you have this big responsability
18:58 polettix joined perl6
19:00 TimToady I look at it this way--the various parts will either converge or not.  If they converge on single solutions, then the community is more efficient.  If they end up with different solutions to the same problem, the community is healthier for the competition.  :)
19:00 [particle] coopetition!
19:01 TimToady It's not like any of us are trying to make a billion bucks on it...
19:02 TimToady so it seems to me that a nice balance between friendly competition and fierce cooperation is fine.
19:04 TimToady however, just because the stakes are low is no guarantee of harmony.
19:04 TimToady They say that battles in academia are so fierce because the stakes are so low. :)
19:05 TimToady so we'd like to avoid that too
19:06 mindbug joined perl6
19:12 kolibrie we're all just looking forward to Christmas
19:13 fglock it depends on your definition of Christmas, too
19:14 kolibrie that moment when Perl 6 arrives (which may mean we'll have several of them)
19:15 kolibrie including some mini-Christmases we've had already
19:16 fglock yes - things like, is pugs perl 6? is mp6 a bootstrapped perl 6?
19:16 fglock several Christmas is fine
19:19 justatheory joined perl6
19:24 fglock otoh, I feel a little alone in the project, sometimes
19:24 TimToady people have been kinda goofing off over the holidays, but I think that'll get better.
19:25 [particle] the commit rate on parrot has jumped way up this month
19:25 [particle] maybe you should join an active project ;)
19:26 TimToady yeah, well, how many of those commits are just trying to make Perl Critic happy?  :P
19:26 fglock [particle]: yep
19:27 TimToady we need the towns and we need the mountain men
19:27 [particle] timtoady: our software is read/write, not write/only like perl
19:28 TimToady fglock is more of a Lewis and Clark type person.
19:28 [particle] indeed. i'm very impressed with fglock's work
19:28 TimToady but even Lewis and Clark got lonely at times
19:28 * stevan tries to figure out who is sacagawea
19:28 [particle] i can't wait to read the travel log
19:29 TimToady better start learning Portuguese swear words.  :)
19:29 fglock heh
19:30 TimToady I just wish I had as much money to hand out as Thomas Jefferson did...
19:31 fglock TimToady: swear words are a good start - quite easy to learn
19:31 pbuetow joined perl6
19:32 TimToady and the vowel system is pretty close to English
19:33 larsen_ joined perl6
19:35 GabrielVieira joined perl6
19:35 * TimToady pictures the Lewis and Clark expedition as a kind of mobile hackathon...
19:35 ozo joined perl6
19:37 fglock [particle]: re bootstrap, once you have PAST you could recompile mp6 to PAST, and get rid of the p5 controller
19:38 bernhard joined perl6
19:39 * luqui thinks a vowel system similar to english is points against the learnability of a language
19:39 luqui because I'm not really sure how Engish's works, I just use it
19:42 TimToady I've been reading and rereading mmd-draft.txt, and trying to figure out whether it's actually optimizable...
19:43 TimToady (or understandable, for that matter)
19:43 fglock luqui: I was very surprised at school when I learned there was a grammar, and that I was supposed to follow it
19:44 * luqui has trouble understanding mmd-draft.txt
19:44 kanru joined perl6
19:44 TimToady but it's a bit like your phonological system; mmd works just like you expect, but it's very difficult to desribe just what that is.
19:44 * luqui can describe exactly just what mmd is
19:44 luqui just not *how* to do it
19:45 luqui it's like saying "here is exactly how you can verify whether a proof is correct"
19:45 luqui but not having any way of generating a correct proof :-)
19:46 justatheory joined perl6
19:46 luqui (which is actually not true, because in math it is reasonable to say "look through all the proofs in increasing length order until you find a correct one")
19:46 TimToady well, the verifying part is even a little suspect here, since that's basically what the optimizer wants to rely on to shortcircuit
19:47 TimToady but if the type system explodes, it's hard to succinctly say "this call is the same type as the previous one"
19:47 luqui yeah, with dependent subtyping that becomes difficult
19:48 TimToady practically speaking, though, we can probably build the type identifiers on the fly and not have to build too many
19:48 TimToady much like grep just builds the states it needs for the current pattern.
19:49 TimToady making it scalable and efficient is an interesting problem though.
19:50 TimToady a given capture type can probably be reduced to an encoded list, maybe even encoded as UTF-8 integers so common types are one byte
19:50 TimToady then you take those strings and (forget the verb) assign unique number ids
19:50 TimToady what do you call it when all your unique strings turn into integers?
19:51 fglock a digest?
19:51 luqui it's some technique that I learned about during pugs
19:51 luqui ... pugs does it
19:51 TimToady most function programming languages do
19:52 TimToady um, yeah, that...
19:52 TimToady anyway, one could presumably analyze the types down to a single integer (64-bit needed?) for a fast "Do I need to recalculate mmd" decision.
19:53 TimToady it might just be harder to get it boiled down with a more complicated type system.
19:53 TimToady where constraints really gum up the works though.
19:54 TimToady hopefully subset types can factor those out mostly.
19:54 luqui subset types are equivalent to where constraints
19:54 luqui it's just whether you have named it or not
19:54 TimToady yes, but wheres are anon
19:54 TimToady nod
19:55 TimToady so unless you do structural comparison, they end up with unique type ids
19:55 luqui but you need to do the comparison every time anyway
19:55 TimToady arguably "where 1" is the same type everywhere, but...
19:55 luqui oh, I see
19:55 luqui you want to have values carry their types around with the
19:55 luqui m
19:56 TimToady if some container participating in the capture already verified that this is a subset type, then presumably we don't have to do it again.
19:56 luqui (unless, ugh, the subset type relies on time-sensitive data)
19:57 TimToady it might just be containers, including captures that carry it around
19:57 luqui my $counter = 0;  subset Foo of Int where { $_ < $counter };   while (...) { $counter++ }
19:57 TimToady hmm.
19:57 TimToady well, maybe we can pessimize that.
19:57 luqui We can verify certain cases when the data is not state dependent
19:57 luqui and I think many subset clauses will be those cases
19:58 TimToady yes, I think we can tell whether the closure is referring to a snapshot
19:58 TimToady or is all internal
19:58 TimToady snapshot of the variable, I mean, not its contents
19:59 TimToady so it knows $counter is likely to change.
19:59 TimToady which is why the constant declarator and readonly vars are important.
20:02 TimToady also been wondering whether the "private scorecard" is too hard to teach, and whether a "backup to next semicolon branch and revote with new info" might be easier to understand (though possible isomorphic to private scorecards)
20:04 * luqui should run through the mmd-draft algorithm on paper sometime to get a handle on it
20:05 TimToady a minor bug in it is that it is defined to run to the end of all parameters, but it really only needs to run to the longest ; or ;; it needs to resolve.
20:06 luqui followed by a double-check that all arguments satisfy parameter constraints, no?
20:06 TimToady that was already handled by the precheck
20:06 luqui ok
20:06 TimToady but that also bugs me a little, since it could run a lot of unnecessary where clauses
20:07 TimToady maybe those can be done lazily
20:24 GabrielVieira2 joined perl6
20:24 svnbot6 r15020 | fglock++ | kp6 - 'visitor' gets the node data, instead of node 'self' (unfinished)
20:34 TimToady afk &
20:34 Vex joined perl6
20:45 svnbot6 r15021 | seano++ | Solve a few more of these.  (XXX: much duplicate code).
20:48 zgh joined perl6
21:06 Keepun joined perl6
21:06 spoopithy joined perl6
21:09 seano joined perl6
21:12 ir1 joined perl6
21:14 spoops joined perl6
21:20 buetow joined perl6
21:30 awwaiid joined perl6
21:30 Lunchy joined perl6
21:30 autark joined perl6
21:30 ofer0 joined perl6
21:30 pflanze joined perl6
21:30 [particle] joined perl6
21:30 bwk joined perl6
21:30 arguile joined perl6
21:35 pjcj joined perl6
21:45 MaenNJ joined perl6
21:45 MaenNJ hello all
21:45 MaenNJ guys I'm little confused, is there an implementation for Perl 6 in Perl 5 ?
21:46 sri_ joined perl6
21:46 MaenNJ I know there is v6. so what is Perl6::Rules and other Perl6::* modules ?
21:46 allbery_b not exactly.  there is active work on compiling perl6 to perl5
21:47 MaenNJ yea thats what I mean
21:47 MaenNJ no I mean that I could use experiment Perl 6 using Perl 5
21:48 allbery_b that I couldn't tell you.  I know there are some modules which in effect prototype perl6 features in perl5 (for example Moose is perl6's OO system in perl5)
21:48 gnuvince joined perl6
21:48 Aankhen`` joined perl6
21:49 MaenNJ I found those : http://search.cpan.org/searc​h?query=Perl+6&amp;mode=all
21:49 [particle] MaenNJ: yes, you can write perl 6 code, and have it compiled to perl 5 code with v6.pm
21:49 [particle] Perl6::* are *old* implementations of perl 6 features on perl 5
21:49 avar if you run it through an indenter doesn't it look horrid?:)
21:50 [particle] but many are outdated syntax, or are super-experimental and buggy
21:50 avar i.e. not meant to be human-readabe;)
21:50 MaenNJ ahaa
21:51 [particle] you can download v6.pm from cpan to get started
21:51 MaenNJ ok should be faster than pugs, right ? :)
21:51 [particle] it has some prerequisite modules
21:52 [particle] i don't think it's faster than pugs, but i haven't done or seen benchmarks
21:52 MaenNJ aha
21:53 MaenNJ damit I hate ActivePerl
21:55 MaenNJ I should hate windows
21:56 MaenNJ it says "The perl5 executable must have PMC support." what does that mean ?
21:57 [particle] what version of perl have you?
21:57 [particle] pmc files (in perl5) are "compiled perl modules"
21:58 MaenNJ I have perl5.8
21:58 [particle] basically, when you 'use My::Module' perl.exe looks for My/Module.pmc, and if it's not found, looks for My/Module.pm
21:59 MaenNJ aah ok it supports pmc then
21:59 [particle] until v6.pm, nobody used .pmc files... it was an unused feature
21:59 MaenNJ aha
21:59 [particle] now, it's a brilliant hack ;)
21:59 MaenNJ :)
22:00 Limbic_Region joined perl6
22:02 cognominal left perl6
22:02 cognominal joined perl6
22:04 luqui why does v6.pm like .pmcs?
22:06 luqui oh, perl doesn't actually care whether .pmc is "compiled" or not
22:06 luqui I see
22:06 [particle] right.
22:06 [particle] (back)
22:10 justatheory joined perl6
22:12 integral_ joined perl6
22:23 autark joined perl6
22:23 integral_ is now known as integral
22:27 MaenNJ Perl is amazing. I like it's community :) I don't know why they don't teach it well in my college :(
22:35 luqui perl has a lot of cultural stigma.. I'm surprised they even teach it in your college
22:36 luqui when I tell my professors that I work with type systems, they interestedly say "ooh", then I say "for Perl", and they disappointedly say "oh"
22:36 luqui I don't get it...
22:37 allbery_b ah, PL bigots
22:37 MaenNJ :)
22:38 luqui 'course, this guy loves ML and hates Haskell...
22:38 MaenNJ they only teach in design and implementation of programming languages class
22:38 [particle] they didn't see the latest episode of extreme makeover: perl edition
22:38 luqui so I tend to disregard his opinion
22:39 SamB perl? Type systems?
22:39 allbery_b of course, if you really want to fry his brain you cn tell him you're implementing System Fc in PHP :>
22:40 SamB can you write them with those little bars?
22:43 MaenNJ is Perl 6 implemented from RFCs or Synopses ?
22:43 [particle] synopses
22:44 [particle] MaenNJ: do you have a commit bit for pugs?
22:45 [particle] if you want to help document, write tests, fix bugs, gimme your email and i'll set you up
22:45 Juerd luqui: There's a huge (perceived?) gap between academic and pragmatic
22:45 Juerd luqui: Perl has always leaned towards the latter
22:45 MaenNJ really me ?
22:45 * Limbic_Region wonders what languages they will be using when he finally goes to college
22:45 [particle] MaenNJ: yes, the more the merrier
22:45 SamB allbery_b: ... wouldn't it be sufficient to try to understand System Fc just by reading GHC sources?
22:45 Juerd MaenNJ: of course you!
22:45 Juerd MaenNJ: You want to help, right?
22:45 MaenNJ of course I want :)
22:45 SamB I mean, rather than bothering to implement it in PHP ?
22:46 allbery_b this prof sounds like he's already in that area
22:46 Juerd MaenNJ: Then yes, you! :)
22:46 MaenNJ ok where should I give you my email ?
22:46 allbery_b it's conflating it with PHP that would make his brain short out :)
22:46 Juerd MaenNJ: No, give [particle] your email
22:46 Juerd Not me :)
22:46 Juerd I can't give you the commit bit (afaik)
22:46 [particle] i msg'd you
22:46 Limbic_Region if particle is busy, I can give you a commit bit
22:46 Limbic_Region oh
22:46 [particle] juerd: you want that right?
22:46 Limbic_Region well, let me correct that juerd
22:47 Limbic_Region oh, nevermind - particle is going to handle both
22:47 Juerd [particle]: I wouldn't know why :)
22:47 luqui it's so much fun to give out commit bits
22:47 luqui why don't we all send him one
22:47 [particle] MaenNJ: sent!
22:47 Juerd luqui: I have similar fun with feather accounts, actually :)
22:47 Juerd feather isn't really used much anymore, by the way.
22:47 [particle] it's tradition to add yourself to the authors file as your first commit.
22:47 nperez joined perl6
22:48 * Juerd loves hacker tradition
22:48 luqui ?eval "I am still on feather"
22:48 evalbot_r15021 "I am still on feather"
22:48 Juerd luqui: Yeah, it does lots of tiny things. People notice it instantly when it's offline :)
22:48 [particle] jane is running on feather, too
22:49 [particle] jane is mdiep's tcl-on-parrot irc bot
22:49 Juerd luqui: But few people actively hack on it anymore. Pugs has actually encouraged some people to buy new home hardware :)
22:49 [particle] juerd: i'll probably be using feather this weekend preparing for the parrot release
22:49 Juerd [particle]: :)
22:50 [particle] but, it's been 6mo or so since my last visit
22:50 Limbic_Region Saturday is Parrot Bug Day
22:50 wolverian also ghc6.6 made things a lot better
22:50 MaenNJ aha ok :)
22:50 Juerd [particle]: Do you still have your password? :)
22:50 * Limbic_Region uses feather (for CGI:IRC) regularly
22:50 Juerd Limbic_Region: That's one of the many tiny things
22:50 wolverian I can actually now compile pugs on my laptop without forgetting what I was doing :)
22:50 Juerd I should catalog the tiny things
22:51 Juerd Actually... it would be great if people could provide very simple TAP tests for the services that they provide.
22:51 Juerd Would be great to run before and after system upgrades
22:51 Limbic_Region I also have a 7.x version of nmake.exe in my home directory for people who don't want to download the entire toolkit
22:51 Limbic_Region M$--
22:51 [particle] juerd: yes, apparently i do :)
22:51 [particle] :)
22:52 Juerd I don't get the M$-- thing.
22:52 Juerd I loathe Microsoft, but I just don't use it.
22:52 Juerd And my keyboard has an S ;)
22:53 Juerd It's Microsoft Windows users who do the most microsoft--'s. I think that's a bit... awkward
22:53 [particle] linux-- windows forever!
22:54 stevan Fortress interpreter just got released by Sun (http://fortress.sunsource.net/)... might be some useful stuff to "borrow" in here ;)
22:54 [particle] heya stevan
22:54 [particle] how's your moose hanging?
22:54 stevan hey [particle] :)
22:54 Juerd At the moment, 18 distinct users are running processes on feather
22:55 stevan [particle]: Moose is resting right now,.. the holidays were not kind ;)
22:55 MaenNJ are you planning to make pugs compile perl 6 code into PIR ?
22:55 Juerd MaenNJ: It already does that, sort of
22:56 [particle] MaenNJ: we're working on perl6 -> pir different ways
22:56 MaenNJ aha
22:57 Juerd MaenNJ: Feel free to build another, or to contribute to an existing one
22:59 MaenNJ why to reinvent the wheel, pugs is good enough I think
22:59 MaenNJ I would rather contribute to improve pugs
23:00 Juerd Wheels are simple things. It's easy to do it right the first time.
23:00 Juerd Perl is a different beast :)
23:00 johnjra joined perl6
23:00 [particle] perls are not round
23:00 Juerd Nice one :)
23:00 MaenNJ :)
23:12 weinig|away is now known as weinig
23:15 Psyche^ joined perl6
23:19 jferrero joined perl6
23:25 dduncan joined perl6
23:31 Psyche^ is now known as Patterner
23:50 Aankhen`` joined perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo