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