The Return of the Journal : pugs.blogs.com/ | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6 Set by GammaRay on 31 December 2005. |
|||
Debolaz | Amnesiac: Yes. | 00:19 | |
00:24
frederico joined,
Supaplex joined
00:37
waltz left
00:44
mjl69 joined
00:51
scook0 joined
00:59
imperator joined
01:16
imperator left
|
|||
dduncan | is something up with openfoundry that could cause it to be a lot slower (for commits particularly) during the last few days? | 01:23 | |
is anyone else experiencing that? | 01:24 | ||
svnbot6 | r8564 | Darren_Duncan++ | r1771@Darren-Duncans-Computer: darrenduncan | 2006-01-02 17:20:52 -0800 | 01:25 | |
r8564 | Darren_Duncan++ | /ext/Rosetta-Incubator : incremented the Locale::KeyedText versions following its CPAN release today | |||
dduncan | not sure if its the server or the network | ||
other network things at my end seem normal enough | |||
Khisanth | checked your route to the server? maybe one of the usual routers died and you are taking a different and slower route | 01:52 | |
Debolaz | copy installable_parrot to /usr/pkg/bin/parrot: No such file or directory | 01:53 | |
Gotta love nice senseless errors. :/ | |||
leo | make installable_parrot or make install in parrot might help - but please note (again) that installing parrot is still experimental, especially with pugs | 01:56 | |
01:57
petdance joined
|
|||
Debolaz | leo: Noticed the latter. I fixed pugs compatibility by having the port install src/parrot_config.o though. :) (Which is copied from install_config.o) | 01:58 | |
The thing is with my error above though, that installable_parrot actually exists. What I did that seemed to cause the breakage was append "include" to include files in MANIFEST so it the installer would respect --includedir. | 01:59 | ||
I'll figure it out tomorrow when I have gotten some sleep though. | 02:00 | ||
leo | k - g night | 02:01 | |
Debolaz | Night. | ||
Alias_ | audreyt: ping? | 02:25 | |
03:05
justatheory joined
03:16
xah joined
03:20
justatheory joined
|
|||
dduncan | following Khisanth's suggestion, I tried a traceroute to openfoundry | 03:26 | |
running it 4 times, I saw hickups at the last leg | |||
lamp.iis.sinica.edu.tw (140.109.17.109) | 03:27 | ||
from 1/2 to 2/3 of the time, it read about 400-500ms, while other times around 175ms, which is close to the previous link | |||
and the previous link was fairly consistent | 03:28 | ||
173-174 | |||
the previous being ge-3-14.c6r0.tpe.tw.rt.ascc.net (140.109.251.78) | 03:29 | ||
04:05
justatheory joined
04:09
mjl69 joined
04:14
justatheory joined
05:09
sapper joined
05:12
mjl69 joined
|
|||
audreyt | stevan: you forgot to add Container/*.pil | 05:14 | |
so I can't work on them :-/ | |||
audreyt goes doing some $job work instead | 05:16 | ||
tewk | audreyt: What is the signature of _Group RuleCapturing -> Token Rule -> [Rule] -> Rule or RuleCapturing -> (Token Rule -> [Rule] -> Rule) | 06:07 | |
The pattern match _Group c _ [x] makes me thing the latter. type DynMkMatch r = (Token r -> [r] -> r) I don't understand the the () here. | 06:09 | ||
s/latter/former/ but the ()'s in the type DynMkMatch make me think the other one. | 06:10 | ||
clkao yawns | 06:15 | ||
audreyt | its pattern is RuleCapturing -> DynMkMatch Rule | 06:25 | |
note that in haskell | |||
a -> (b -> c) | |||
is _exactly_ the same as | |||
a -> b -> c | |||
because of currying | |||
so the two types you list is identical | |||
i.e., "f x y" is exactly the same as "(f x) y" | 06:26 | ||
Khisanth | ?eval [*] 1..171 | 06:34 | |
evalbot_8564 | 1241018070217667823424840524103103992616605577501693185388951803611996075221691752992751978120487585576464959501670387052809889858690710767331242032218484364310473577889968548278290754541561964852153468318044293239598173696899657235903947616152278558180061176365108428800000000000000000000000000000000000000000 | ||
Khisanth | ?eval 171*170 | ||
evalbot_8564 | 29070 | ||
tewk | ?eval 1..10 | 06:39 | |
evalbot_8564 | (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) | ||
06:48
joepurl joined
|
|||
meppl | guten mrogen | 06:52 | |
audreyt | yo meppl | 07:08 | |
anr | is now known as kanru2 | ||
tewk | audreyt: Is there a way to run Test/Parser/Rule.hs interactivelly or from the commandline, I though I saw you do something like that the other day. Also is it possible to trace ghc ? | 07:10 | |
07:10
gaal left
|
|||
tewk | btw The currying answer, above made perfect sense. | 07:10 | |
07:13
Amnesiac joined
07:28
r0nny joined
07:30
lisppaste3 joined
07:31
gaal joined
|
|||
gaal | remoose | 07:31 | |
tewk: I just managed to build hat for ghc6, now to see if it works :) | 07:32 | ||
# www.haskell.org/hat/ | |||
07:47
DesreveR joined
|
|||
gaal | audreyt: ping | 08:14 | |
audreyt | pong (but I'm about to afk) | 08:15 | |
gaal | ok. do you see anything obviously wrong with: | ||
freezeNode node = do { ptr <- newStablePtr node ; new (castPtr $ castStablePtrToPtr ptr) } | |||
thawNode nodePtr = do { let ptr = castPtr nodePtr ; deRefStablePtr (castPtrToStablePtr ptr) } | |||
deRefStablePtr segfaults, though traces show the pointer is the one I'd frozen. | 08:16 | ||
I removed the explicit type sig for thawNode, btw; I'm not sure if perhaps deRefStablePtr needs that for its magic | 08:17 | ||
sorry no: the sig i removed was for freezeNode. | 08:19 | ||
audreyt | the sig is probably irrelevant | ||
gaal | OK | ||
audreyt | hm, I don't see anything explicitly wrong | 08:20 | |
why would you want a castPtr, though? | |||
is it not enough to default nodePtr into the correct type in FFI? | 08:21 | ||
gaal | hmm, I lifted code from readPtr :) | ||
trying w/o it (probably won't make a difference though, right?) | 08:22 | ||
audreyt | ah. | ||
I'm not sure, as FFI is definitely not my forte | |||
maybe ask on glasgow- ? | |||
(or #haskell) | |||
gaal | #haskell didn't know | 08:23 | |
g- is the mailing list? will try there if I don't figure it out | |||
audreyt | yeah, glasgow-haskell-users | ||
best luck -- also feel free tocommit your code | 08:24 | ||
as long as it compiles, runtime segfault is no problem if it does not interfere with existing code path | |||
gaal | the docs for hsc2hs + FFI are a little terse for me :/ | ||
y | |||
OK | |||
audreyt | and that way I'll be more motivated to debug | ||
gaal | :-) | ||
audreyt | :) | ||
ok, I gotta run. | |||
bbiab | |||
gaal | bye. | ||
08:26
iblechbot joined
09:08
dada joined
09:20
Limbic_Region joined
09:49
nnunley joined
|
|||
Limbic_Region | seen audrey | 09:52 | |
jabbot | Limbic_Region: I havn't seen audrey, Limbic_Region | ||
Limbic_Region | seen autrijus | ||
jabbot | Limbic_Region: autrijus was seen 25 days 7 hours 7 minutes 52 seconds ago | ||
Limbic_Region | seen audreyt | 09:56 | |
jabbot | Limbic_Region: audreyt was seen 1 hours 31 minutes 23 seconds ago | ||
09:56
larsen joined
10:14
G2 joined
|
|||
onob | is now known as konobi_ | 10:37 | |
audreyt | Limbic_Region: hm? | 10:50 | |
10:50
elmex joined
|
|||
Limbic_Region | oh nothing, been on vacation in the PI for 3+ weeks and wanted to know what new handle you were using | 10:55 | |
Limbic_Region is glad to see you are journaling regularly again and think that the new pic on wikipedia is much more flattering | |||
you should update your perlmonk's acct accordingly - /msg the gods for a name change too | 10:56 | ||
audreyt | maybe I should just register a new perlmonk nick | 11:12 | |
thanks re the pic. :-) | |||
11:31
whiteg joined
|
|||
Limbic_Region | no need to register a new nick - when you have the gods rename your account a link from your old handle points to the new one and all of your posts are automagically handled | 11:34 | |
audreyt | ok... how do I /msg the gods again? | ||
Limbic_Region | from the chatterbox - /msg gods please rename my account to <insert name here> because <insert explanation here> | 11:35 | |
audreyt | done, thanks | 11:42 | |
Limbic_Region | when is the next hackathon btw? | 11:44 | |
or rather - let me make a suggestion for the blog - put up a calendar with upcoming events | |||
audreyt | I wonder how do I do that with typepad | 11:45 | |
Limbic_Region | s/blog/blog or pugs homepage/ | ||
audreyt | for now, try pugs.blogs.com/pugs/event/ | ||
Limbic_Region has read that but couldn't remember where | 11:47 | ||
11:52
elmex joined
12:01
pdcawley joined
|
|||
pdcawley | seen audreyt | 12:02 | |
jabbot | pdcawley: audreyt was seen 16 minutes 56 seconds ago | ||
12:05
xinming joined
12:06
xinming joined
|
|||
audreyt | pdcawley: yo | 12:11 | |
pdcawley | privmsg awaiting your attention. | ||
audreyt | replied. | 12:12 | |
Limbic_Region | oh, I meant to ask audreyt - should the following barf? I think no but it currently does | 12:17 | |
?eval for 1... { last if $_ == 4 } | |||
evalbot_8564 | pugs: out of memory (requested 1048576 bytes) | ||
audreyt | it should not, it currently does, the new runcore's ::List will address this, please give us another week or so :) | 12:20 | |
Limbic_Region | ok cool | 12:33 | |
audreyt | yay, I ported Catalyst's dispatcher logic (or maybe something better) to Jifty :) | ||
Limbic_Region | will that also make my @infinity = 1...; # work too or is there a limit to when things can be lazy | ||
audreyt | Limbic_Region: that should works natively. | 12:34 | |
Limbic_Region isn't sure he understands natively in this context | |||
?eval my @infinity = 1...; | |||
evalbot_8564 | pugs: out of memory (requested 1048576 bytes) | ||
clkao | mmmm | 12:35 | |
audreyt | the ::Array container, @infinity, should contain one single ::Range object underneath | ||
the ::Range object should have a $.start at 1 and $.end at Inf | |||
that's how it's going to work in the new runcore. :) | 12:36 | ||
Limbic_Region | ok | ||
Limbic_Region will just be patient then | |||
audreyt | thanks for your patience :) | 12:37 | |
Debolaz | Will I break anything fundamental by including parrot_config.o in libparrot? | 12:43 | |
audreyt | I think not. | ||
(but better check with #parrot in irc.perl.org if you are not sure.) | 12:44 | ||
Debolaz | Hmm.. that's not a bad idea. :) | ||
Also got another weird issue they may clear up, installer refusing to install installable_parrot if I sed -e '/^include/s|$|include/ the MANIFEST files. | 12:45 | ||
Limbic_Region | oh that reminds me about a Parrot/ICU unicode question along with ANSI compliance | ||
Limbic_Region heads over to #parrot | |||
guess not - the server I had hosting CGI::IRC to get to #parrot is offline | 12:46 | ||
13:02
chris2 joined
13:11
iblechbot joined
|
|||
Limbic_Region | oh, cool beaners on the Jifty dispatcher audreyt - I hear Jifty is a real contender to Rails | 13:14 | |
obra | Really? Where'd you hear that? | 13:15 | |
chris2 | does perl6 have something like ruby's "p" or "obj.inspect"? | 13:17 | |
Limbic_Region | obra - I believe it was a PerlMonks entry - let me see if I can find it | 13:19 | |
wolverian | ?eval 1.perl | ||
evalbot_8564 | "1" | ||
wolverian | chris2, I think that's it, currently | ||
Limbic_Region | obra - perlmonks.org/index.pl?node_id=520196 | 13:20 | |
see the first response | |||
chris2 | wolverian: thanks! | ||
wolverian | you're welcome | ||
xinming | audreyt: can rule now be used in pugs? | ||
audreyt | xinming: it can be used for some time now | 13:21 | |
via PGE/parrot | |||
xinming | audreyt: hmm, not in pugs shell? | 13:22 | |
?eval my $a = rule { . }; $a ~~ "test" | |||
evalbot_8564 | Match.new( ok => bool::true, from => 0, to => 1, str => "t", sub_pos => (), sub_named => {} ) | ||
xinming | hmm, In pugs shell, this line will cause segfault | 13:23 | |
xinming is out for supper. | |||
bbl | |||
13:25
anatolyv joined
13:39
hlen joined,
kanru joined
14:08
Qiang joined
14:41
Debolaz joined
|
|||
stevan | audreyt: ping | 14:42 | |
audreyt | stevan: yo | ||
stevan | obra: chromatic said in his Year in Perl that Jifty might leave Rails in the dust | ||
audreyt: see Bootstrap/Container/*.pil :) | 14:43 | ||
audreyt discovers the svk checkout is subtly broken | |||
heh. sorry :) | |||
but I did this meanwhile (joint design with obra) -- I think you'll like it | 14:44 | ||
perlcabal.org/~autrijus/tmp/Dispatcher.html | |||
(in jifty trunk now) | |||
deploying to $job as we speak | |||
clkao | (?!) | ||
svk checkout borken? | 14:45 | ||
audreyt | clkao: apparently I needed a "revert -R" to get new Bootstrap/Container/*.pil | ||
14:46
Limbic_Region joined
|
|||
audreyt | tried to reproduce, can't, weird. | 14:46 | |
clkao | weird | ||
1.06? | |||
audreyt | no, 1.0901 trunk | 14:47 | |
stevan | audreyt++ obra++ # very nice dispatcher :) | ||
audreyt | :D | ||
14:47
justatheory joined
|
|||
audreyt | I'd like to support proper subclassing next | 14:48 | |
14:48
justatheory joined
|
|||
audreyt | so MyApp::Dispatcher::Blog handles the "in 'blog'" by default | 14:48 | |
with :Private and :Local propagation attributes | 14:49 | ||
sounds familiar? :) | |||
stevan | audreyt: :) | ||
audreyt: $work for today is going to be reading over all the Jifty docs/source | |||
audreyt | /join #jifty then | 14:50 | |
stevan | heading there right now | ||
15:07
ezraburgh joined
15:15
petdance joined
15:22
Eimi joined
15:30
lisppaste3 joined
15:41
sahadev joined,
kanru joined
|
|||
stevan | audreyt: so thoughts on the containers | 15:54 | |
I was thinking that the immutable version of Array should acutally be List | 15:55 | ||
(sort of) | |||
audreyt | yeah | 15:56 | |
Array I think delegates to a finite sequence of underlying list-ish things | |||
Seq and Range, in particular | |||
stevan | ok | ||
audreyt | which are value types | 15:57 | |
stevan | hmmm, so are we just using the autoboxed Seq? | ||
audreyt | i.e. immutable among themselves | ||
that can work, yes | |||
stevan | ok | ||
audreyt | (based on my understanding about fglock's p5-based work) | 15:58 | |
which I think makes a lot of sense | |||
oh, aside from Seq and Range, need some sort of Generator too | |||
but because Array hides all of them, it's okay | |||
stevan | ok | 15:59 | |
I will look over fglocks stuff again | |||
audreyt | I think it's summarized (somewhat haphazardly) in docs/notes/laziness.txt | 16:00 | |
stevan | I will also add some methods to the autoboxed ::Seq | ||
audreyt | cool | ||
stevan | actually I will make a ::Seq role instead | ||
Debolaz | Aight, parrot port is more or less complete now. www.debolaz.com/temp/parrot.tar.gz for those who has pkgsrc. | 16:02 | |
audreyt | hm, how do I install pkgsrc for freebsd? | 16:04 | |
(and why would I want to do that?) | |||
<- running freebsd 6-stable | |||
16:07
vel__ joined
|
|||
Debolaz | audreyt: Well, as for how to install it, it's documented on www.pkgsrc.org/. I guess why is a matter of personal preference.. it's in my personal opinion superior to ports, a lot easier to manage, etc. But again, my personal opinion, there's no big reason to switch if you're on FreeBSD. :) | 16:08 | |
audreyt | ok :) | 16:10 | |
audreyt puts it on her infinite, self-recursive, lazily evaluated list of things to try | |||
justatheory | seen pdcawley | ||
jabbot | justatheory: pdcawley was seen 3 hours 58 minutes 33 seconds ago | ||
pdcawley looks up. | |||
justatheory | "The name that left was PIR" | 16:11 | |
pdcawley | Yeah. | ||
IMC was left bleeding on the floor. | |||
justatheory | Should that be "that was left", since you then kick sand in imc's face? | ||
Limbic_Region | no justatheory | ||
two names enter, one name leaves | |||
the name that left was PIR | |||
pdcawley | Tcha! Get your pop culcha references right. | ||
justatheory | D'oh! | ||
sorry, I suck. | |||
pdcawley | But no harm in clarifying on the blog version. | ||
You won't be the only one I'm sure. | |||
Limbic_Region | thunderdome | 16:12 | |
justatheory | well, it becomes clear in the rest of the sentence | ||
Limbic_Region | beyond even | ||
justatheory | I haven't seen that movie in decades. | ||
No, wait, I never saw it, only Mad Max. | |||
pdcawley reads through again... Nah... 'the name that was left was pir' is butt ugly English. | 16:13 | ||
But it does have a semicolon now. | |||
justatheory | Bunglish. | ||
" a properly documented Pugs, and the Perl 6" | 16:15 | ||
then? | |||
pdcawley: That's a great photo on your blog. | 16:19 | ||
pdcawley | Ta. | ||
16:34
marmic joined
|
|||
pdcawley | Dave Adler was the man with my camera. | 16:59 | |
16:59
iblechbot joined
|
|||
audreyt waves and goes to sleep & | 17:16 | ||
0nn | is now known as DesreveR | 17:23 | |
17:27
justatheory joined
17:45
G2 joined
17:47
mjl69_ joined,
luqui joined
17:59
Shachaf joined
18:25
cm joined
18:46
justatheory joined
18:48
justatheory joined
18:49
DaGo joined
19:01
mjl69 joined
19:14
xinming joined
|
|||
audreyt | stevan: pniing | 19:32 | |
s/ni// | |||
stevan: A quick question. in PILN, ::Pair is actually what Perl6's ::Pair.meta is | 19:33 | ||
in Perl6, ::Pair.meta.isa(::Class), but ::Pair.isa(::Pair). | |||
stevan: which is fine, and can be handled in PIL2->PILN compiler | |||
stevan: but how do you think we should represent ::Pair in PILN? i.e. what does ::Pair compile to? | 19:34 | ||
a NativeObj with o_class set to clsPair, but with no o_repr ? | |||
i.e. all prim call on it fails? | |||
i.e. ::Pair`get_attr('$!k') will throw an exception? | 19:35 | ||
is that sane, or am I actually talking dreamspeak (which is likely)? | 19:36 | ||
audreyt goes back to sleep | |||
19:40
stevan_ joined
|
|||
obra | stevan_: ou just missed a braindump from audrey | 19:40 | |
you | 19:41 | ||
19:43
frederico joined
20:21
nothingmuch joined
|
|||
nothingmuch | hola | 20:22 | |
20:23
avar joined
20:30
justatheory joined
20:37
the_ez joined
20:38
xinming joined
|
|||
teva | is now known as stevan_ | 20:44 | |
stevan | obra: thanks for the heads up | ||
stevan reads the log | |||
audreyt: I am not sure I understand that you mean, does ::Pair really need to be anything other than just an normal object? | 20:46 | ||
::Pair`get_attr('$!k') will die , but ::Pair.new({})`get_attr('$!k') will be ok | 20:47 | ||
stevan is guessing audreyt is having some very strange dreams | |||
20:48
SamB joined
|
|||
svnbot6 | r8565 | tewk++ | Outstanding cleanup | 21:04 | |
21:16
dduncan joined
|
|||
webmind | hmmm | 21:17 | |
I'm trying to compile pugs | |||
and suddenly the machine is unreachable | |||
actually in the make Makefile.pl | 21:18 | ||
er | |||
perl Makefile.pl part | |||
is this that heavy or ? | |||
gaal | audreyt: ping | 21:24 | |
luqui | webmind, I doubt that that phase would do much... | 21:25 | |
how much ram do you have? | |||
webmind | 1gb | ||
luqui | (because that phase does run ghc, which is rather ram heavy) | ||
okay, you should be fine | |||
webmind | 2.4ghz p4 | ||
luqui | it's probably something else | ||
pasteling | "gaal" at 192.115.25.249 pasted "undef handling patch for YAML::Syck" (61 lines, 1.8K) at sial.org/pbot/15257 | 21:26 | |
webmind | waqs also checking out parrot | ||
and running apt | |||
but doesn't sound heavy | |||
21:26
ezraburgh joined
|
|||
luqui | well even heavy cpu lifting shouldn't cause the machine to be unreachable, should it? | 21:27 | |
webmind | depends | ||
but I can still ping it | |||
just ssh doesn't work any more | |||
luqui | this was with the latest pugs? | ||
webmind | I can connect to port 80 | ||
but requests fail | |||
yes | 21:28 | ||
luqui sees if something went wrong in the makefile | |||
webmind | I can see more info when I get home | ||
but currently still at the meeting | |||
luqui | do you know how far the makefile got before the connection died? | 21:29 | |
audreyt | gaal: please mail the Patch to my inbox :) | ||
gaal | audreyt: sure :) | ||
webmind | luqui, didn't get any output from it | ||
so no | |||
luqui | not even "*** Probing configuration" | 21:31 | |
? | |||
not even "*** Probing configuration"? | |||
(ugh, my connection dies every 20 minutes for about 1 minute) | |||
(comcast sucks) | |||
webmind | nope | ||
luqui | hmmm.. that sounds like a different problem then | 21:32 | |
webmind | don't think so | ||
hmmm :( | |||
sounds bad | |||
hope the HD is ok | |||
gaal | audreyt: sent | ||
luqui | I mean, Makefile.PL doesn't do anything before it prints that... | ||
webmind | ok | ||
maybe it's the disk then | |||
audreyt | gaal: danke | ||
webmind | certainly hope it's not | 21:33 | |
luqui | hope not. maybe it was a coincidental occurrence | ||
webmind | uhuh | ||
luqui | anyway, pop back on here when you find out more | ||
webmind | btw, is there a howto somewhere to make deb'sfor pugs ? | ||
will do | |||
gaal | audreyt: hash emmitting is pretty broken... I can add a test or two at least. | ||
luqui | hmmm... who was doing that before? | ||
gaal | s/mm/m/ | ||
luqui | anyone remember who was making the deb distro for pugs? | 21:34 | |
audreyt | hm. I couldn't sleep, so I finally typed down my design notes since November into the latest p6c/journal post. | ||
luqui | rafl? | ||
gaal | luqui: rafl++ | ||
audreyt | stevan: S12: "Taken as an object, a class represents all of the possible values of its type, and the class object can thus be used as a proxy for any "real" object of that type in calculating what a generic object of that type can do. The class object is an Object, but it is not a Class, because there is no mandatory Class class in Perl 6. We wish to support both class-based and prototype-based OO programming. So all metaprogramming is done through the cu | ||
luqui | righto, webmind, you should talk to rafl | ||
webmind | rafl is maintainer for debian yes | 21:35 | |
luqui | I don't think there is a howto anywhere | ||
but he could help write one I presume | |||
webmind | hmk | ||
webmind pokes rafl | |||
gaal | webmind: there is a debian/ you can look at | 21:36 | |
audreyt | stevan: so it seems to me that, on p6 level, if %hash.keys can be called, so can ::Hash.keys (although it will probably fail, but the point is that the dispatcher dispatchs ::Hash the same way as %hash.) | ||
luqui | audreyt, man that paragraph is unclear | ||
webmind | gaal, what's that ? | ||
ah | |||
gaal | specification for the dpkg | 21:37 | |
for the .deb that is | |||
webmind | ah | ||
hm | |||
audreyt | stevan: and also if there is a ::Hash.new(), so is there a %hash.new(). | ||
this is very p5esque, where a class is just a string that has no instance data but dispatches the same as a blessed reference. | 21:38 | ||
webmind | ok,will check that when I'm home aswell then.. thanks | ||
rafl | luqui: Here I am. | ||
luqui symlinks himself to webmind | 21:39 | ||
rafl | webmind: ping | ||
luqui: I just locked for the first highlight. Sorry. | |||
luqui | np | ||
audreyt | also S12: "Class methods are just methods that can take a class as their invocant." | 21:40 | |
stevan: I _think_ that is what larry means. if it turns out to be a strange dream, all the better, but I'm planning for the worst. (also cf. the dereference/assignment post.) | |||
luqui figures that if classes are those generic objecty things | |||
then class methods are nothing but methods that don't refer to any members | |||
audreyt | yes, I think that is what larry's idea is | ||
luqui thinks that that's what Larry insanely means | |||
audreyt | it's a bit more well-typed than p5 | 21:41 | |
luqui | uh... how? | ||
audreyt | but has the same operational semantic as p5 | ||
er, you can't use a string as a class anymore. | |||
luqui | oh right | ||
audreyt | and there's no barewords, so class literals are well typed. | ||
so you can very well write a typechecker. | |||
and this is how IO, Self, JavaScript has been working for ages anyway | 21:42 | ||
luqui | I wonder if we can determine at compile time whether a given method can be called on the class | ||
and then die before even entering the offending method if not | |||
audreyt | yeah, that's what I mean by "write a typechecker" | ||
luqui | okay then | ||
Debolaz | Parrot 0.4.0 is committed to pkgsrc. :) | ||
audreyt | Debolaz++ | ||
luqui | not possible in general to determine whether or not it is allowed | 21:43 | |
audreyt | stevan: so... ::Int.isa(::Class) would be false under this scheme | ||
luqui | but we can default to "is" when we can't determine | ||
audreyt | luqui: hm? if you mention any $.foo $!bar then it's disallowed | ||
everything else is allowed | |||
luqui | what about calling methods on self? | 21:44 | |
where those methods aren't allowed? | |||
audreyt | if you can early-bind them, then of course errors propagate | ||
webmind | rafl, do you know, or can you provide something like an howto on how to make pugs debs ? | ||
audreyt | late-bound methods are, as usual, deferred until runtime. | ||
luqui | audreyt, okay, fair enough. so we only look at "leaf offending" methods in general | ||
rafl | webmind: I do debs for every release. You mean for svn snapshots? | ||
audreyt | luqui: yeah, but everything becomes leaf under use optimize :classes<close finalize>; | 21:45 | |
webmind | from svn snapshots yes | ||
but it's for ubuntu | |||
rafl | Doesn't fakeroot debian/rules binary work? | ||
webmind | no idea | ||
luqui | audreyt, nope. | ||
rafl | webmind: Try it, please. | ||
webmind | currently can't check either.. cos the box died | ||
I will | |||
luqui | equivalent to the halting problem. | ||
audreyt | luqui: huh? | 21:46 | |
rafl | webmind: Maybe you'll need to alter debian/changelog for the ubuntu release names if you want to upload it there. | ||
webmind: Don't mind if it's only for personal use. | |||
audreyt | if (0|1).pick { self.call_bad_method } | ||
that should be statically rejected. | |||
luqui | method maybeoffender() { my $var = halting_computation() ?? $?SELF !! MyClass.new; $var.offender() } | ||
rafl | webmind: My stable pugs packages seem to be migrated to ubuntu anyway. | ||
audreyt | even if it's if (0|0).pick | ||
luqui | should that be? | 21:47 | |
audreyt | surely yes. | ||
if False then 3 (3 3) else 1; | |||
luqui | what if I mentioned $?SELF in a very roundabout way | ||
audreyt | try writing that in GHC. | ||
webmind | rafl, ok | ||
luqui | hmm | ||
rafl goes to bed | |||
luqui | okay, I see what you mean | ||
rafl | Bye! | ||
audreyt | all lines of branch needs to be well-typed | 21:48 | |
luqui was having a static-types-don't-exist moment | |||
:-) | |||
audreyt | heh :) | ||
luqui | oh, but you were talking about :classes<close finalize> | ||
stevan is not a fan of Larry's class model | |||
audreyt | alright, I think I can finally rest now that the dense incomprehensible container type thing is written | ||
luqui isn't either | |||
stevan | hey guys/gals | ||
luqui courtseys | 21:49 | ||
gaal | yo stevan | ||
audreyt can see its merit, but thinks it makes a horrible underlying calculus | |||
stevan | audreyt: where is it at? | ||
audreyt | (which is why I think PILN (and PIR for that matter) should _not_ be changed; just the compilation strategies to them) | ||
stevan | audreyt: agreed,.. i think we should all chip in and get Larry a copy of the Art of MOP :) | ||
audreyt | stevan: pugs.blogs.com/pugs/2006/01/dereference_and.html | ||
stevan | audreyt: yes, I agree,.. I tried to plan the MOP so that Larry's model could desugar into it | 21:50 | |
luqui doesn't think that is a contextifier | 21:52 | ||
stevan beats luqui about the head with a \ | |||
luqui | i.e. I don't think that \\$x === \$x | 21:53 | |
stevan | what does proto mean again? | ||
21:53
Amnesiac joined
|
|||
luqui | it just gives an overall signature to a multi | 21:53 | |
stevan | overall? | ||
nothingmuch | i need to quit my job... the great out doors calls me | ||
luqui | proto foo(...) {...} multi foo(type1) {...} multi foo(type2) {...} | ||
nothingmuch | or rather, i need to quit computers | ||
luqui | or get a laptop with good outdoor lighting ;-) | 21:54 | |
luqui hasn't found one that works well outside yet | |||
stevan, it also sets a default implementation for a set of multis | |||
stevan | luqui: so proto is kind of like the "top" for multis? | ||
luqui | yeah | ||
stevan | so I could set a ceiling then | 21:55 | |
luqui | ? | ||
stevan is trying to think of an example | |||
luqui | you know how in haskell you say like foo :: typesig; foo pat1 = impl1; foo pat2 = impl2 | 21:56 | |
stevan | yes | ||
luqui | the proto serves as the typesig, and the foo _ = impl at the end | ||
stevan | ok | ||
I think I get it | |||
luqui | but multis allow you to distribute the rest of the implementations all over your program | ||
unlike in haskell | 21:57 | ||
stevan | can you write multis without proto? | ||
does one automagically get created? | |||
audreyt | (actually, multis are quite like typeclasses) | ||
luqui: so you think prefix:\ has this type? | |||
multi prefix:<\> (Ref ::T is rw) --> (Ref of ::T) {...} | |||
luqui | right | 21:58 | |
I mean right to typeclasses | |||
audreyt | instead of the one I gave | ||
multi prefix:<\> (Ref ::T is rw) --> ::T {...} | |||
luqui | Yeah, I think so... | ||
probably good to check with larry though | |||
(I'm judging by his comment <luqui> "how do you take a reference to a reference?" <lwall> with the new "\\" operator :-) ) | |||
but that was six months back or more | 21:59 | ||
audreyt | actually I've just been thinking about prefix:<\\>. | ||
luqui | hmm? | ||
audreyt | an actual new \\ operator. | ||
luqui | what would it do? | ||
audreyt | that has the type you want | ||
luqui | oh | ||
what does \ do? | |||
audreyt | multi prefix:<\\> (Ref ::T is rw) --> (Ref of (Ref of ::T)) | ||
luqui | put stuff in referential contexT? | ||
audreyt | yes. | ||
luqui | almost short for scalar() | 22:00 | |
audreyt | because you'd think \@foo is a value | ||
nothingmuch | luqui: the point is to not be laptopy | ||
audreyt | but it actually takes container methods | ||
(\@foo).elems | |||
nothingmuch | no shower for several days | ||
eat weird food | |||
directly from the pot | |||
luqui | so, basically like normal, except outside :-) | ||
audreyt | and it's been handwaved as "autoderef" for some time now | ||
nothingmuch | sleep in a tent | ||
that kind of no-laptop | 22:01 | ||
gaal misses that kind of outdoors also | |||
nothingmuch: wanna go to sinai sometime? | |||
luqui | audreyt, by "\@foo is a value" you mean? | ||
nothingmuch | for a hike? or the beach? | ||
stevan | nothingmuch: I give you 2 weeks before you make a laptop for yourself out of rocks and twigs | ||
luqui | ll | ||
audreyt | luqui: meaning that it can't be assigned to. | ||
gaal | nothingmuch: mountains, duh | ||
audreyt | it doesn't take the infix:<=> method | 22:02 | |
nothingmuch | stevan: it's the only addiction i haven't beaten totally | ||
luqui | s/(.)(.)/$1o$2/ | ||
nothingmuch | i've managed to cut TV, sugar, cigarettes, coffee, etc for weeks on end | ||
cold turkey | |||
luqui | audreyt, oh... | ||
nothingmuch | whenever I suspected i may be too involved | ||
luqui | audreyt, why? | ||
nothingmuch | but computers - they are like cutting social life | ||
except it has string attached | |||
gaal: gladly | |||
=) | 22:03 | ||
audreyt | \$x = 3; # same as "$x=3" | ||
nothingmuch | i'm trying to push a friend into the yam-el-yam hike | ||
audreyt | \@x = 4; # same as "@x=4" | ||
like that? | |||
luqui | it seems to me, and this may be muddy wrong thinking, that \@foo = $x is the same as @foo := $x | ||
nothingmuch | i hope we can do it in 3 days | ||
transportation is the biggest issue | |||
gaal | nothingmuch: more than 3, and not in this season anyway. despite this being january, there are places where it's cold :-) | ||
audreyt | luqui: \$x = \$y, you mean | 22:04 | |
gaal | anymoose, I just comitted the preliminary .yaml stuff, and am now going to bed. have a moose, all! | ||
audreyt | (rhs of = is not rw'ed) | ||
nothingmuch | i heard 4 to 3.5 as the benchmark for normal people | ||
audreyt | gaal: woot! | ||
luqui thinks he means just what he said | |||
luqui isn't sure what audreyt meant | |||
gaal | audreyt: it's not like it works or anything :-) | ||
audreyt | luqui: ok. you said that \$x=3 means $x:=3 | ||
nothingmuch | got another idea for a long 2+ night hike? | 22:05 | |
svnbot6 | r8566 | gaal++ | * beginning of .yaml emitter. "string".yaml.say segfaults, but hey, | ||
r8566 | gaal++ | it's a start :) | |||
luqui | audreyt, no, I said \@x = 3 means @x := 3 | ||
gaal | audreyt: but once we figure out that segfault the rest shoudl be easy. | ||
luqui | the sigil might be important | ||
.... but I don't think so | |||
audreyt | luqui: I'm very much lost then. how is it important? | ||
er. | |||
gaal | nothingmuch: south may be dangerous (flash floods). galil maybe? anyway I'm off; later :-) | ||
zZZ & | 22:06 | ||
nothingmuch | i don't mind the cold in the day time, or at night (slept in pretty cold conditions in the US - so that's OK), but food making and getting packed in the morning is hella-tough when cold | ||
audreyt | see, the rhs of infix:<=> is not "rw"; a FETCH (or value()) is applied to it | ||
nothingmuch | yam-el-yam is galil | ||
audreyt | that is the definition of rhs | ||
gaal | .yaml .yam | ||
audreyt | so saying that \$x=$y magically takes variable($y) | ||
nothingmuch | did you think med-to-dead? or med-to-galilee? | ||
audreyt | is quite strange. | ||
I can't seem to think a way to make it work. | 22:07 | ||
22:07
ezraburgh left
|
|||
audreyt | \$x=$y; $x = 5; # $y can't become 5 | 22:07 | |
try putting anything else in \$x's position, you can't get that | 22:08 | ||
luqui | no, wait | ||
luqui goes off for a minute to figure out why he thinks that | |||
bbiab | |||
audreyt, okay, it's because we've been saying things like @a := [1,2,3] | |||
which binds the innards of @a to [1,2,3], and of course makes it return that same [1,2,3] when you take a reference to @a | |||
I'm not sure what it means for scalars | |||
and I'm not sure that @a := [1,2,3] is correct, but if it is, then that's what \@a = [1,2,3] should mean | |||
did you get that? | 22:09 | ||
I was 20-minute clockwork disconnected while I was writing that | |||
22:10
petdance left
|
|||
luqui | audreyt, poke, poke | 22:12 | |
audreyt | pong | 22:13 | |
luqui | okay good, I'm not still disconnected | ||
audreyt | @a.infix:<:=>([1,2,3]) | ||
(oversimplyifying the args/sigs part, because that's going to desugar to it anyway) | 22:14 | ||
so, this calls a method on the container object on the pad as '@a' | |||
the container object discards its innards | |||
and use the same underlying representation (p6opaque or otherwise) as [1,2,3] | 22:15 | ||
very straightforward | |||
luqui | ahh, \@a = .. isn't the same as \$x = ..; it's the same as \variable($x) = .. | ||
audreyt | yes, because method calls on scalars always valueify it first | ||
except when the method is rw | 22:16 | ||
as prefix:<\> is. | |||
luqui | hmm.. | ||
audreyt | s/is rw/has the invocant declared as rw/ | ||
luqui understands | |||
so do you agree that @a := [1,2,3] should mean the same thing as \@a = [1,2,3], if \@a = [1,2,3] means anything? | 22:17 | ||
audreyt | I don't know if ::Ref.infix:<=> should be defined. | ||
because | 22:18 | ||
(\@a).end | |||
luqui | yeah, but I'm asking, if it were, then that's what it should mean for an array | ||
audreyt | is the same as @a.end | ||
and having \@a.infix:<=> to be _not_ the same as @a.infix:<=> | |||
is violating the onelevel autoderef semantic. | |||
luqui | but infix:<=> has an rw invocant | ||
audreyt | so does .push | ||
yet (\@a).push means the same as @a.push. | 22:19 | ||
luqui thinks | |||
audreyt | I think you have a point; prefix:<\>, even on container types, should return a plain ::Ref that is a simple container that delegates methods back to the underlying container (but only for one level) | 22:20 | |
I think it should not introduce anything else. | |||
i.e. either forbid or passthru. | |||
(for one level, again) | |||
luqui doesn't like delegation | |||
audreyt | but that's what autoderef is. | ||
luqui doesn't like autoderef... | 22:21 | ||
audreyt | i.e., what (\@a).push is doing | ||
heh, but it's what's specced ;) | |||
luqui | and I think there's a way to think about it so that the same thing happens, but no autoderef is going on | ||
audreyt | and I do think $a[0]=1 is kinda good. | ||
luqui | same semantics, different mental model | ||
audreyt | ah, which is why I proposed \ as contextifier. | ||
22:21
marmic joined
|
|||
audreyt | but you raised the \\\\1 point that I don't have an answer to. | 22:21 | |
so it's now back to simple ::Ref. | 22:22 | ||
(with delegation.) | |||
luqui | I think I'll go take a walk to ponder | ||
my mind isn't terribly clear, and walks work wonders | |||
audreyt | cool -- if you came up with anything, reply on p6c or so :) | ||
good night. :) | |||
luqui | good night | ||
Debolaz | Amnesiac: There? | 22:23 | |
Amnesiac | Debolaz, it's been a while | ||
Debolaz | Amnesiac: Yes. #freebsdhelp, right? | ||
Amnesiac | hahaha yes :P | 22:24 | |
last time we talked you were using SiLC | |||
Debolaz | I have the memory of a very small mammal with a very small attention span. :) | ||
Amnesiac | hahaha | ||
Debolaz | Yeah, I gave that up when it became clear that the author never intended for silc to become widespread. | ||
Amnesiac | I just tried it, never used it for real | 22:25 | |
Debolaz | The problem was that he just wants to make money off of it. The standard library is GPL, so it's impossible for any non-GPL application to use silc without having to reimplement everything for a very complex protocol. | 22:26 | |
Amnesiac | what do you do now? | 22:27 | |
Debolaz | Not much. Doing some smaller projects now and then, like porting parrot to pkgsrc. | 22:28 | |
svnbot6 | r8567 | stevan++ | PIL/Native/Bootstrap/Container/Array.pil | ||
r8567 | stevan++ | - added &reduce and &zip (only for same sized arrays for now) | |||
r8567 | stevan++ | - some tests too | |||
Amnesiac | Debolaz, nice thing, you don't hang at #freebsdhelp anymore right? | 22:30 | |
Debolaz | No. I still use FreeBSD though. | 22:31 | |
Amnesiac | I idle in EFNET most of the time, and yep, still using FreeBSD | ||
Debolaz | But I have taken an interest in DragonFlyBSD. | ||
Amnesiac | doesn't DragonFlyBSD is based in 4.x? | 22:33 | |
Debolaz | Yes, it's based on the FreeBSD 4.x codebase. | ||
Amnesiac | don't you find that a bit... uhm... "old"? | ||
lots of latest packages don't compile on 4.x codebase in FreeBSD | 22:34 | ||
Debolaz | Well, DragonFlyBSD is changing from ports to pkgsrc now actually to solve the package incompatibility issue. | ||
Amnesiac | refresh me, pkgsrc is from NetBSD? | 22:35 | |
Debolaz | As for the "old" part, I don't think so. FreeBSD 4 is still a good operating system for uniprocessor machines. The one of the two main reasons for the fork was how FreeBSD 5 solved the SMP scaling issue. DragonFlyBSD has a very different solution to SMP scalability. | 22:36 | |
Yes, pkgsrc is from NetBSD, but pkgsrc intends to be a framework for building packages that works on many systems, not just NetBSD. | 22:37 | ||
I use it on my FreeBSD machine. | |||
Amnesiac | I see | ||
not based in Debian pkgs right? :P | 22:38 | ||
Debolaz | No. :) | ||
Amnesiac | good then | ||
Debolaz | Think of it as ports on steroids. | ||
It's much more practical to manage imho. | |||
Amnesiac | sounds good, I want to try FreeBSD 6, but I need to backup my data first and I don't have HDD space right now... | 22:39 | |
Debolaz | What version are you currently on? | ||
Amnesiac | 4.11 and 5.4 | 22:41 | |
Debolaz | Think of FreeBSD 6 as 5.5. :) | ||
There's really nothing fundamentally new about it. | |||
Unlike FreeBSD 5 compared to 4. | |||
Amnesiac | at least the 5.x guys fixed the old problem with sound cards ( for vchans ) | 22:42 | |
that was bothering me when 5.x was just released | |||
Debolaz | I've taken it on me as a personal goal to have full and up to date perl 6 support in pkgsrc. Parrot was just finished today. | 22:44 | |
Amnesiac | so you're using NetBSD now? | 22:45 | |
Debolaz | [23:37] <Debolaz> I use it on my FreeBSD machine. | ||
:) | |||
leo | Debolaz++ # thanks for the parrot part | ||
Amnesiac | Debolaz, very nice | ||
Debolaz | Amnesiac: As I said, pkgsrc is a lot more pleasant to work with than ports. | 22:46 | |
Amnesiac: Both as user and maintainer. | |||
leo: :) | |||
Amnesiac looking at pkgsrc info | 22:48 | ||
leo | Debolaz: are any patches needed for parrot src tree? | 22:51 | |
Debolaz | I'm going to get pugs into pkgsrc too, the port is mostly done but I need to resolve what to do with haskell since the version currently in pkgsrc only supports NetBSD. I've made it run with FreeBSD, but it ain't my port, so I gotta talk with the maintainer. | ||
leo: You can see the patches I made at cvsweb.netbsd.org/bsdweb.cgi/pkgsrc...t/patches/ | 22:52 | ||
They are mostly to get stuff into more correct locations. | 22:53 | ||
leo | I'll forward that to p6i - thanks | ||
Debolaz | The only one that's really needed to make things compile is patch-ac, but patch-ad might be of some interest. | 22:56 | |
patch-ac is due to the fact that combining -lc_r with any other threading library on FreeBSD 6 will cause stuff to break. patch-ad is simply making sure shared applications aren't installed with _shared as suffix. :) | 22:59 | ||
leo | Debolaz: I've sent the message to p6i - please reply and explain there - thanks | 23:00 | |
23:02
frodo72 joined
|
|||
leo | rafl: can you please review above pkgsrc patches for debiaan compat - thanks | 23:03 | |
debian compat too ;) | 23:04 | ||
Amnesiac | debiaan++ | 23:05 | |
Debolaz | Hrmm.. but I don't use usenet. :) | 23:08 | |
leo | Debolaz: mailto:perl6-internals@perl.org | 23:12 | |
e.g. in docs/intro.pod or docs/submissions.pod | 23:13 | ||
webmind | ok, machine crashed.. no idea what it was | ||
luqui | that's good to hear that it wasn't the HD :-) | 23:16 | |
stevan | luqui: back from you walk? | ||
luqui | yep | 23:17 | |
got some good stuff figured out | |||
writing a docs/notes entry on it | |||
stevan | good :) | ||
cool | |||
when you are done ... please see my recent p6c post | |||
I sent that list o' types i promised | |||
luqui | neato | ||
stevan | I think I am probably completely wrong/crazy/on-crack, but I wanted to start the discussion off at least :) | 23:18 | |
it would be nice to have something official I could build upon | |||
s/build upon/build PIL2 runcore upon/ | |||
svnbot6 | r8568 | stevan++ | PIL/Native/Bootstrap/Container/Array.pil | 23:20 | |
r8568 | stevan++ | - added &keys, &values, &kv and &pairs | |||
r8568 | stevan++ | - added tests for these too | |||
stevan | I would be nice to start building up a reasonable class/roles heirarchy for PIL2, and I want to be sure it does not deviate too much from what is expected in Perl 6 | ||
stevan dinner & # be back in a few hours probably | 23:21 | ||
Debolaz | leo: groups.google.com is nice to have. :) | 23:25 | |
webmind | luqui, indeed | ||
leo | Debolaz: yup it's covered there too | 23:26 | |
Debolaz | leo: I posted a reply to your post anyway. It should cover the "why"'s. | 23:27 | |
leo | thanks | 23:29 | |
23:30
lisppaste3 joined
23:43
frederico joined
|