Pugs 6.2.9 released | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net Set by autrijus on 4 August 2005. |
|||
mikael | what are the reasons (if any) for yada-yada-yada-ing subs without giving a prototype, as in "sub foo { ... }"? | 00:58 | |
svnbot6 | r6210 | fglock++ | * perl5/ List - fixed a portability bug | 02:01 | |
r6210 | fglock++ | (Windows "Int" stringification) | |||
r6210 | fglock++ | * perl5/ Array - builds ok, passes a couple of tests | |||
xinming | anyone here can tell me if what the differences between := and ::= are? | 04:50 | |
autrijus | xinming: ::= is := at BEGIN time. | ||
i.e. compile time | 04:51 | ||
see docs/quickref/namespace | |||
bbiab | |||
xinming | dev.perl.org/perl6/doc/quickref/namespace page not found. :-S | 04:52 | |
autrijus | in pugs | 04:53 | |
not p6 | |||
& | 04:54 | ||
xinming | autrijus: could you please give me the exact url? :-S | 04:58 | |
coral | docs or doc? | 05:21 | |
xinming: start by locating the pugs svn repository | 05:22 | ||
i don't know the precise url but the two in the topic are good | |||
second, look in docs/quickref/namespace inside that repository | |||
if the word 'pugs' isn't in the url you're probably in the wrong place. | |||
putter | svn.perl.org/perl6/pugs/trunk/docs/.../namespace rt.openfoundry.org/Foundry/Project/...e?rev=5944 | 05:32 | |
& | |||
svnbot6 | r6211 | Stevan++ | Perl6::MetaModel - (p5) | 06:22 | |
r6211 | Stevan++ | * begun converting pugs tests (t/oo/) to the metamodel | |||
r6211 | Stevan++ | to see how many we can pass | |||
r6211 | Stevan++ | * fixed Perl6::Object::BUILD to ignore named args which | |||
r6211 | Stevan++ | are not attributes | |||
vkon | docs/AES/S28draft.pod is very messy | 06:46 | |
castaway_ | then fix it, dear henry | 06:47 | |
vkon | sure... | 06:51 | |
06:51
castaway_ is now known as castaway
07:00
ods15_ is now known as ods15
|
|||
GeJ | hello gentlemen | 07:11 | |
ods15 | all your base are belong to us | 07:14 | |
castaway feels left out :) | 07:15 | ||
ods15 | puts() writes the string s and a trailing newline to stdout. - bleh, wtf, why a trailing new line :/ | 07:18 | |
castaway | because its puts .. use a different method :) | 07:22 | |
ods15 | it's the only function name for this that is this short | 07:24 | |
'printf' is very long, 6 chars.. | 07:25 | ||
castaway | awww.. how terrible | ||
go use assembler :) | |||
ods15 | castaway: i'm trying out for ioccc | 07:28 | |
castaway | ah well :) | ||
ods15 | anyway i hacked around it, made it so i only call puts when i actually need a newline | ||
but now i need to re-obfuscate this... | |||
Aankhen`` | (quoting 5 relevant lines and 50 irrelevant lines before replying)-- | 08:00 | |
ods15 | you forgot the '$' | 08:03 | |
i think | |||
not sure how perl goes | |||
svnbot6 | r6212 | Stevan++ | Mini-MetaModel - Bootstrapped and tested in less then 200 lines | 08:06 | |
Aankh|Clone sings the "I Hate Powercuts" song. | |||
Mini-MetaModel? :-o | 08:07 | ||
Hi pdcawley. | 08:08 | ||
pasteling | "Aankhen``" at 61.246.34.89 pasted "`nmake` fails on Win32" (13 lines, 764B) at sial.org/pbot/12405 | 08:11 | |
08:11
Aankh|Clone is now known as Aankhen``
|
|||
Aankhen`` | Halp! | 08:12 | |
autrijus | Aankhen``: hm. what did you change? | 08:30 | |
does your PATH contain an alternate ld? | |||
08:43
shachaf_ is now known as Shachaf
|
|||
QtPlatypus | Does anyone have any sort of comment on the Lazy IO edge case I pointed out on p6l? | 09:06 | |
Aankhen`` | autrijus: I didn't change anything... it built fine last night, it's not building today. | ||
castaway | it was the pixies, Aankhen`` | 09:07 | |
autrijus | Aankhen``: weird... did "make clean" help? | 09:08 | |
let me boot to win32 to see if I can duplicate this. | |||
a sec. | |||
Aankhen`` | I always run `make clean` before syncing up and building. | 09:09 | |
(in other words, it didn't help :-) | 09:10 | ||
autrijus | ok. brb. :) | ||
svnbot6 | r6213 | iblech++ | * Usual svn props. | 09:16 | |
r6213 | iblech++ | * PIL2JS: PIL::PApp, PIL::Cont: Undefine all params after they have been used, | |||
r6213 | iblech++ | to reduce memory usage of the JS engine. Sadly, it only helps 3 MiB... | |||
autrijus | nmaking... | 09:19 | |
Aankhen``: it worksforme. | 09:30 | ||
Aankhen``: try "nmake pil" | |||
17:30 < autrijus> Aankhen``: it worksforme. | 09:31 | ||
17:30 < autrijus> Aankhen``: try "nmake pil" | |||
Aankh|Clone | OK. | 09:32 | |
Went to "Linking...", then exited. Is that supposed to happen? | |||
autrijus | type "pil.exe" | ||
then "say 123" | 09:33 | ||
Aankh|Clone | Whoa, mondo output. | ||
autrijus | then ":q" | ||
Aankh|Clone | Done. | ||
autrijus | so ghc is fine | ||
linker too | |||
somehow the main pugs doesn't like you | |||
Aankh|Clone | :-( | ||
autrijus | if you just erase Lexer.o and "nmake" | ||
Aankh|Clone sings of unrequited love. | |||
A'right. | 09:34 | ||
Cool, that worked. | 09:37 | ||
autrijus | hrmph. :) | ||
Aankh|Clone | Now to install. | ||
Aankh|Clone crosses his fingers. | |||
My kingdom for a build system that doesn't trigger re-compilation when you try to install Pugs! | 09:38 | ||
Yay, it worked. | 09:39 | ||
autrijus++ | |||
autrijus | :) | ||
if you don't want recompilation, edit config.yml | |||
and turn off the prelude compilation. | 09:40 | ||
Aankh|Clone | The Prelude isn't pre-compiled during the regular build? | ||
(i.e. when you type `nmake`) | |||
autrijus | it is, but the dependency detection is faulty | ||
so it retriggers no matter what | |||
Aankh|Clone | I see. | ||
autrijus | ideally it should only retrigger if Prelude.pm is touched. | ||
fixes... welcome. | |||
Aankh|Clone | Do you know which part of the build system handles this? | 09:41 | |
autrijus | yes, util/build_pugs.pl | ||
Aankh|Clone | OK. | ||
Let me see if I can do anything at all... | |||
autrijus | but only gaal really groks all of it I think. | ||
09:46
Aankh|Clone is now known as Aankhen``
|
|||
kgftr|konobi | clkao: Brownie points for a version of cvsup that understands SVN/SVK | 11:04 | |
svnbot6 | r6214 | autrijus++ | * Style cleanup on MiniMetaModel.pl to simplify mental effort needed for Visiolization | ||
r6215 | autrijus++ | * even more clarifications. | |||
r6216 | autrijus++ | * more comments | |||
clkao | kgftr|konobi: i have a svkup branch | 11:19 | |
castaway waves to kgftr|konobi | 11:20 | ||
kgftr|konobi | castaway: yullo! we should be seeing you real soon! | ||
clkao: url? | 11:21 | ||
castaway | yes indeedy | ||
clkao | in the svk repository | ||
castaway is flogging off extra junk on ebay (doing well so far :) | |||
clkao | it even works across different mirrors. but needs more polishing | 11:22 | |
kgftr|konobi | clkao: nice... trying to find something to replace CVSup that's nicer... but we use it not just for doing RCS stuff, but also file based push mirroring | 11:23 | |
11:38
prefiks_ is now known as prefiks
|
|||
fglock | hi | 13:36 | |
Limbic_Region | salutations | 13:51 | |
fglock | bom dia Limbic_Region | ||
Limbic_Region | sure is - my wife's bday today and it is Friday | 13:52 | |
fglock | congratulations to her. | 13:53 | |
i didn't notice it was friday. this was a short week for me | |||
Limbic_Region | I don't have a tendency to forget what day of the week it is, but I am often unsure of the date (or even the month for that matter) | 13:54 | |
fglock | :) | ||
i was thinking about starting documenting the runtime API | |||
castaway wishes Jean a happy b'day | 13:55 | ||
(And hopes shes well too :) | |||
fglock | before we have too many implementations | ||
Limbic_Region | mostly castaway, I will relay your well wishes | ||
castaway | good good | 13:56 | |
fglock is helping create a new PM group in Salvador, Bahia. but I've never been there :( | 13:59 | ||
coke | heo. has it been documented if/how system() is going to change in perl6 yet? | 14:00 | |
hey, pdc. | 14:05 | ||
pdcawley_ | hey coke | ||
coke | you seen anything on how system() might change in perl6? | 14:06 | |
mikael | is there ever a reason to yada-yada-yada a sub without giving a prototype, as in "sub foo { ... }"? | ||
(except for documentation purposes) | 14:07 | ||
castaway | who needs prototypes? | ||
fglock | mikael: I use it as a "TODO" reminder | ||
mikael | fglock: ah, yes, that's a good reason :-) kinda like ``foo = undefined'' in haskell | 14:09 | |
pdcawley_ | coke: I assume it'll fail on failure and return true on success... | 14:10 | |
coke | (i know someone who's going to write a wrapper in perl5 for CPAN, just wondering if there was something he could use to make it forward compatible.) | 14:11 | |
14:28
autark is now known as jp-autark
|
|||
stevan | autrijus: ping | 15:18 | |
svnbot6 | r6217 | fglock++ | * perl5/Array - t/array-lazy.t passes all tests | 15:59 | |
autrijus | stevan: pong | 16:03 | |
pugscode.org/images/metamodel.png | |||
ods15 | THAT'S IT | 16:04 | |
rafb.net/paste/results/TSWb8Y12.html | |||
2048 bytes, ends with a smiley, and had 4 out of 5 algorithms | |||
i ain't touching that shit any friggin more. gonna leave it like that for the next entire year till i submit it... | |||
some of the constants could be spazzed up a little bit... | 16:05 | ||
as far as i can tell, there are no memleaks/segfaults, but this code DOES cause 'tcc -b' to crash :( | |||
stevan | autrijus++ # pretty pictures | 16:09 | |
masak | autrijus: ::Point? what's that? | ||
stevan | masak: it is just a random user class | ||
and instance | |||
$point | |||
kolibrie | autrijus: are the blocks an instance, and the cylindar+cone a package? | 16:10 | |
stevan | kolibrie: I think so,.. | ||
masak | stevan: ah, thx | ||
autrijus | stevan: please check for sanity | 16:11 | |
stevan | autrijus: I am | ||
autrijus | in particular, I'd like to map the greeks to your 10kft notation | 16:12 | |
stevan | autrijus: how did you like the mini-metamodel ? | ||
autrijus | stevan: it helped a lot :) | ||
stevan | :) | ||
autrijus | except it bootstraps differently :) | ||
stevan | yes | ||
autrijus | but I figured out | ||
stevan | no Class | ||
autrijus | at long as the Universe API remains compatible | ||
the Metaverse bootstrap can take various paths. | |||
stevan | it actually started out as an experiment in removing Class | ||
it is also single inheritence | 16:14 | ||
autrijus | yeah, which is why I changed @:super to $:super | ||
kolibrie | autrijus: can you add the blocks and cylindar+cone to the legend? | ||
autrijus | kolibrie: sure | ||
kolibrie | thanks | ||
masak | any special reason why the 'theos' and 'pneuma' boxes are larger than the boxes corresponding to ::Point? | 16:17 | |
dudley | I think because point is "merely" a user level class and not part of the Meatmodel | 16:18 | |
At least that's how I interpreted it. | 16:19 | ||
masak | dudley: hmm. doesn't seem very fair | ||
don't know if it matters though | |||
kolibrie | of course, point has two sets of boxes, user and meta | 16:20 | |
masak | you mean they sorta have to split the area between them? :) | ||
kolibrie | something like that | 16:21 | |
autrijus | re-uploading. | 16:22 | |
done. | |||
kolibrie | ah, point's boxes got upgraded! | 16:23 | |
autrijus | yeah :) | ||
kolibrie | autrijus++ # pretty pictures | ||
autrijus | I can't figure out how to show the fact that the MetaClass class on the left is magically mapped to the ::Class on the right. | 16:24 | |
so I gave up and merely listed them on the same row. | |||
kolibrie | well, isn't that what the purple meta line is for? | 16:25 | |
autrijus | yeah, although it's kind of subtle | 16:27 | |
kolibrie | worked for me | 16:28 | |
masak | autrijus++ # much better box sizes :) | ||
kolibrie | the left-hand column, with gnosis, metamorph, and genesis, does that show the bootstrap? | 16:29 | |
autrijus | yes. | 16:31 | |
re-re-uploading. | |||
the sequence is (I think): gnosis -> demiurge -> logos -> pneuma -> metamorph -> genesis | 16:33 | ||
kolibrie tries to follow the path | 16:34 | ||
autrijus | but is really just gnosis (demiurge) -> metamorph -> genesis (theos), and logos/pneuma is parallel | ||
(which is what the path shows) | |||
(metasyntactic names | |||
)++ | |||
kolibrie | ok, so gnosis is the class for the demiurge instance | 16:35 | |
svnbot6 | r6218 | Stevan++ | MiniMetaModel - adding the class_precedence_list to the $Class | 16:39 | |
r6219 | fglock++ | * perl5/Array - t/array-fetch-store passes all tests | |||
autrijus_ | kolibrie: no, gnosis is just instance data. | 16:42 | |
I re-re-uploaded. | |||
metamorph adds more things to gnosis | 16:43 | ||
(via the add_meth special magic) | |||
16:43
autrijus_ is now known as autrijus
|
|||
autrijus | then genesis add a superclass | 16:43 | |
pdcawley_ thinks someone's being a wee bit clever clever here... | 16:46 | ||
autrijus | pdcawley: sadly, without those metasyntactic variables, I'd need to write data(meta(class(::Class))) | 16:47 | |
and I quickly lost track with that notation :-/ | |||
stevan: I hope I'm not overtly insane | 16:51 | ||
stevan: note that I did away with the class() layer in your notation | |||
stevan | yes | ||
autrijus | it's hidden under the dotted wall between the two worlds | 16:52 | |
as I think it should be (I think) | |||
stevan | yes | ||
I agree | |||
that was why I did the mini-metamodel to experiment with that | |||
autrijus | nodnod | ||
also I didn't have class's attr and submeth | 16:53 | ||
mostly due to space restriction | |||
but also because they are not involved during bootstrapping | |||
I think another picture showing the time-indexed bootstrap process would help too | 16:55 | ||
stevan | yes | 16:59 | |
fglock | autrijus: ping | 17:00 | |
autrijus | fglock: pong | ||
fglock | I was thinking about adding skeletons for other Containers/Values | ||
and maybe document the runtime API | |||
autrijus | fglock: that'd rock, go ahead | 17:01 | |
you have the javascript version as reference :) | |||
as well as the "Val" type in svn.openfoundry.org/pugs/src/PIL/Val.hs | 17:02 | ||
fglock | iblech said he could reuse the Perl6 modules, compiled to javascript | ||
autrijus | not for intrinsic singular value types | 17:03 | |
but otherwise yes | |||
fglock | translating Perl6 to Perl5 by hand is harder than it seems :) | 17:05 | |
autrijus | :) | 17:06 | |
fglock | array contexts, references are entirely different. it would be nice if someone wrote about that. | 17:08 | |
autrijus | you mean, aside from quickref and synopses | ||
more like a tutorial? | |||
fglock | yes, more like a language comparison. A few snippets on a language, and how it looks like in the other. | 17:09 | |
autrijus | docs/other/porting_howto | 17:10 | |
fglock | specially about data structures and parameter passing | ||
autrijus | is probably what you're looking for | ||
feel free to add to it | 17:12 | ||
fglock | ok :) | ||
does '=$fh' means '$fh.to_list' ? | 17:14 | ||
(I may have asked this before) | 17:16 | ||
ods15 | pugs is a bad name | 17:17 | |
i thought it was a program like 'flea' - to deal with perl bugs... | |||
fglock | ods15: I have a Westie - it could be "Westie" :) | 17:18 | |
ods15 | ? | ||
fglock | ods15: actually "pugs" sounds a bit like "pulgas", which is fleas in portuguese :) | 17:19 | |
spinclad | autrijus: in logos, is |%:attr => $.x $.y| cutnpasted from Point? all the rest makes sense | 17:21 | |
autrijus++ # pretty pitchers | 17:22 | ||
kolibrie | autrijus: so gnosis is the instance data of the MetaModel instance, and during bootstrapping the instance data is added to by metamorph and genesis, so at the end of the bootstrap the instance of the MetaModel is also an instance of ::Class | ||
spinclad | so gnosis, metamorph, genesis are stages in bootstrapping | 17:25 | |
and in the picture that's what they've added | |||
kolibrie | spinclad: I think that's right | 17:26 | |
autrijus: can you change the legend item for 'instance data' so that the dotted line is coming out of the box, rather than underneath it? | 17:27 | ||
spinclad | seconding, that would be clearer | 17:28 | |
PerlJam | Is it just me or does anyone else have a hard time following Thomas Sandlass' posts on p6l? | 17:34 | |
fglock | PerlJam :) | 17:35 | |
kolibrie | spinclad: hmm, yes, pretty sure the %:attr for pneuma and logos should not be the same | ||
fglock | l | 17:36 | |
(oops) | 17:37 | ||
17:41
Aankh|Clone is now known as Aankhen``
|
|||
spinclad | pneuma is the meta(::Object), and logos shows its instance data; it's %:attr in inst(meta(C)) for C in <::Object ::Point> (or something) that shouldn't be the same | 17:42 | |
just to be pedantically overbearing | 17:43 | ||
;) | 17:44 | ||
kolibrie | I think the label 'logos' should be under the boxes, such that theos, pneuma, and logos are all instances | 17:50 | |
the instance data squares are not labeled | 17:51 | ||
spinclad | i don't think logos has anything to do with Point, but with Object rather. | 18:02 | |
leo suggested adding a line separating Point stuff from the stuff above, which would make it clearer what's the metamodel bootstrap and what's a later example instance/class/meta. | 18:05 | ||
kolibrie | autrijus: can you clarify logos for spinclad and me | 18:07 | |
stevan | kolibrie: logos is the instance data for the meta(::Object) | ||
the metaclass behind the scences for Object | 18:08 | ||
kolibrie | stevan: so logos and pneuma are both for the instance of meta(::Object)? | 18:09 | |
stevan | no | ||
kolibrie | I'm just seeing the same font, etc | ||
stevan | pneuma is the instance of MetaClass | ||
kolibrie | and think 'logos' should be under the cubes | ||
or a different font | 18:10 | ||
and where it is | |||
stevan | logos is the instance data that pneuma holds | ||
make sense? | |||
kolibrie | and the instance cubes next to Point have no name? | ||
stevan | no | ||
that is just defined when you do class Point { .. } | 18:11 | ||
Object has to be built special | |||
actually you might be able to get away with no building it special, but I have not experimented enough | |||
autrijus: I am going to expand the MiniMetaModel into MetaModel 2.0 | 18:12 | ||
it needs to be re-written, the current version is too cluttered with p5 magic to untangle | |||
kolibrie: the key is to understand the bootstrap process | |||
first is gnosis,.. it is a hand constructed instance | 18:13 | ||
the 'add_method' method is all you need to begin adding more methods to it | |||
which is the metamorph step | |||
once all the methods and attributes have been added in metamorph, you have a (mostly) complete MetaClass | 18:14 | ||
the next step is to make ::Object it's superclass | |||
but you need ::Object in order to do that | |||
so you create ::Object, this is pneuma | 18:15 | ||
it is created from the data in logos | |||
once those two are created, you have ::Object | |||
and you can then add ::Object to the superclass of ::Class | |||
completing the cycle | |||
and then you have a fully formed ::Class which is theos | 18:16 | ||
the cycle is this: | |||
Class is an instance of Class | |||
Object is an instance of Class | |||
Class is a subclass of Object | |||
autrijus: I think MetaClass is just confusing things... maybe we should get rid of it entirely | 18:18 | ||
kolibrie | so gnosis and logos exist at the beginning, and are just data structures | ||
stevan | gnosis does | ||
kolibrie | where does logos come from? | 18:19 | |
stevan | but logos is the input which make pneuma,.. so you can create it later | ||
logos comes from Apoc 12 :) | |||
kolibrie | right, so it is a constant set of data needed to set up the initial objet | ||
PerlJam | stevan: actually, watching you explain it just now and looking at the metamodel.png it occurs to me that the image should be layered. | ||
currently there are 2 "layers". I think there's really three (at least as how people think of it) | 18:20 | ||
stevan | PerlJam: 3-d VMRL would be nice too ;) | ||
kolibrie: yes, it is (constant set of data to define ::Object) | |||
PerlJam: this diagram is a little tightly packed | |||
an animation might be a good thing | 18:21 | ||
for the bootstrap process | |||
stevan ponders a set of spork slides | |||
PerlJam | stevan: It would :-) but I'm thinking of something like how the X Window System was explained to me. At the bottom is Xlib which talks to the hardware, above that is Xt which talks to Xlib and can talk to the hardware as needed, above that are things like Motif which talk to Xt or Xlib or the hardware as needed. I think the metamodel is the same way. | 18:22 | |
kolibrie | well, autrijus has promised another picture showing the timeline of the MetaModel bootstrap | ||
stevan | yes, it is layered, but it is also temporal | ||
kolibrie: I think a static picture will loose something though | 18:23 | ||
PerlJam | stevan: At the bottom is the metaverse which does the work, above that are things like ::Class and ::Object, and above that is the real "user space" | ||
stevan: Unfortunately you can only show one view at a time. Have one "structural" picture and one "temporal" picture of the same thing. | |||
masak | PerlJam: why? have the layers on the vertical axis and time on the horizontal... | 18:24 | |
PerlJam | masak: because I believe the lines willbe confusing. | ||
masak | PerlJam: you might be right | ||
stevan is going to try animating it | 18:26 | ||
kolibrie | stevan: so in metamodel.png, the label 'logos' should be in the same typeface as 'metamorph' and 'genesis' | ||
stevan | I am not sure I understand the signifigance of the typeface | ||
kolibrie | that's why I go lost in the first place | 18:27 | |
all the labels for the instances are in one typeface, and all the labels for the instance_data are in another | |||
except 'gnosis' is different from them all | 18:28 | ||
PerlJam | stevan: animation would definitely be excellent. | ||
svnbot6 | r6220 | fglock++ | * perl5/Array passes 'make test' | ||
r6221 | fglock++ | * per5/List - map() bugfix | |||
gaal | hi | 18:40 | |
fglock | hi gaal | ||
gaal | how much of Prelude.pm compiles to PIL2 already? | ||
hey fglock :) | |||
integral | is there an AST->PIL2 compiler already? | ||
gaal | no idea :) | 18:41 | |
what with illness and $work i've been a little out of things | |||
in this diagram: pugscode.org/images/metamodel.png | 18:42 | ||
what's the character before :super in "metamorph"? | |||
is that a @ ? | |||
PerlJam | gaal: yes. | 18:43 | |
gaal | thanks. | ||
PerlJam | (at least that's what I've been thinking it is) | ||
fglock | integral: I think PIL replaces AST | ||
integral | fglock: err? By AST I mean the result of the parser | 18:44 | |
and iirc the AST->PIL translation is done by the Compile monad atm | |||
s/monad/typeclass/ | 18:45 | ||
PerlJam | "monad"'s syntactic similarity to "gonad" makes me want to giggle everytime I see it. | ||
gaal | should VERSION perhaps be a method (or an attribute) in logos? | 18:47 | |
fglock | integral: there's no AST in svn.openfoundry.org/pugs/docs/notes/plan - that's why I thought that PIL replaces AST | 18:50 | |
autrijus | rehi | ||
I updated the picture | |||
gaal | heya | ||
autrijus | hopefully integrated all suggestions | ||
integral | fglock: oh, sorry, AST == Exp | ||
confusion might also have been from PAST being a former name of PIL | |||
autrijus | integral: Exp->PIL2 compiler is not yet ready. working on it. | 18:51 | |
kolibrie | autrijus: ooooh, ahhhh! very nice | 18:52 | |
gaal | should the textual result be longer or shorter, autrijus? | ||
(of Exp->PIL) | |||
autrijus | gaal: I persume longer | 18:53 | |
there are more nodes, in any case. | |||
gaal | time for binary representation? | ||
autrijus | sure, I plan to go with DriFT "deriving Binary" | ||
drawback is that, like Storable, would be haskel only | 18:54 | ||
YAML is even longer | |||
but somewhat fast to read | 18:55 | ||
XML is possible too. I'm open for suggestions for ondisk format | |||
gaal | hmm, is that necessarily so? DriFT stores native haskell structures? | ||
what about YAML | gzip? | |||
autrijus | no, but rather native byte representations | ||
well, why do we worry about ondisk storage again? | |||
autrijus assumes disk is cheap | |||
integral | Ā£30 for 80GB | 18:56 | |
PerlJam | autrijus: Keep things human readable as much as you can. | ||
autrijus | PerlJam: YAML may be attractive then | ||
Aankh|Clone | -1 for XML. | ||
YAML++ | |||
18:56
Aankh|Clone is now known as Aankhen``
|
|||
autrijus | it's still rather verbose but at least somewhat readable. | 18:56 | |
gaal | it is but pugs -CPugs Prelude.pm is like 1 mb | 18:57 | |
autrijus | and we can even validate with Kwalify. | ||
gaal: with yaml it'll be like 10mb or more. | |||
yaml+gz is a possibility. | |||
gaal | that's too big to work with, isn't it? | 18:58 | |
autrijus | well, syck is fast | ||
stevan | autrijus: I animated the metamodel visiolization | ||
no.perlcabal.org/~stevan/metamodel.gif | |||
autrijus | oh wow. | ||
stevan | this is the timeline for the bootstrap | ||
it needs annotations | |||
but it is basically there | |||
autrijus | you rock | 18:59 | |
I fixed the font and legend | |||
Aankhen`` | msdn.microsoft.com/library/default....202004.asp | ||
autrijus | you may wish to copy the legend over if the rest is too painful | ||
stevan | yes, I saw, I will remake | ||
Aankhen`` | # When to use XML | ||
stevan | autrijus: the whole thing took me about 5 min | ||
autrijus | oh ok, remake then | ||
Aankhen``: we are storing tree data, obviously yaml is superior :) | 19:00 | ||
stevan | autrijus: I am wondering if spork slides might be better | ||
autrijus | stevan: well, having separate frames available helps too | ||
stevan | allow the user to control back and forth | ||
autrijus | then we can add voice and subtitle | ||
Aankhen`` | I already made my preference for YAML clear. :-P | ||
stevan | PowerPoint!!! | ||
autrijus | yeah why not, seeing I'm using visio already ;) | ||
autrijus really tried Dia but really can't make it work | 19:01 | ||
stevan cant either,.. but I use OmniGraffle :) | |||
kolibrie | stevan: very nice animation | ||
autrijus | powerpoint embeds visio directly. | ||
that's a good thing | 19:02 | ||
stevan | kolibrie: thanks :) | ||
kolibrie | svg does animation, but browsers don't support svg that well yet | ||
stevan | autrijus: I will work on this over the weekend, complete with annotations | ||
autrijus: did you get my note about MetaModel 2.0? | |||
autrijus | stevan: yes | 19:04 | |
stevan: I think MMM is a good start | 19:05 | ||
and I got the basic idea I think | |||
Aankhen`` | ?eval my $foo = "init"; sub bar () { UNDO { $foo = "init"; }; $foo = "abcd"; die "HAHAHAHAHA" }; bar() | ||
evalbot6 | Error: No compatible subroutine found: "&UNDO" | ||
autrijus | so I'll push ahead with the haskell one | ||
till I get roles working | |||
(which is 6.28.0 showstopper) | |||
and we can sync from time to time | 19:06 | ||
stevan | autrijus: I really think roles need to be attributes-less | 19:13 | |
butI am not sure it's a battle worth fighting | |||
kolibrie | a role is a set of methods, which does not have instance data? otherwise it is like a class? | 19:15 | |
stevan | kolibrie: no, it has attributes, which will become instance data for the class the role is flattened into | 19:16 | |
kolibrie | stevan: just trying to picture the difference between a class and a role | 19:17 | |
still a little fuzzy for me | 19:18 | ||
stevan | kolibrie: a role is just a collection of methods and attributes | 19:23 | |
svnbot6 | r6222 | fglock++ | * updated perl5/ TODO list, MANIFEST | ||
stevan | to be included into the class | ||
autrijus | stevan: why does role-defined instance attrs bad? | 19:26 | |
s/does/is/ | |||
or do you mean role-defined _class_ attrs? | 19:27 | ||
or both? | |||
kolibrie | stevan: so roles are a definition, and don't have user instances, whereas a class may have user instances | 19:31 | |
stevan | kolibrie: yes | 19:32 | |
autrijus: the problem is with the conflict rules | 19:33 | ||
if methods are in conflict between two roles, neither is included...this makes it easy to treat role composition an non-order-dependent | |||
autrijus | right... so why can't attrs be treated like rw methods? | 19:34 | |
stevan | if the class does not supply a method of the same name as the conflict,.. then an exception occured | ||
occurs | |||
autrijus: the problem is in the interelation of the methods/attributes | |||
autrijus | how is it different from methods/methods? | ||
stevan | hmmm | ||
actually it is not very different | |||
autrijus | :) | 19:35 | |
stevan | however, that makes it worse IMO :) | ||
ok, maybe I will introduce the alias idea from the traits paper as a means of disambiguation | |||
fglock | autrijus: is 'id()' a container object method? | 19:36 | |
spinclad | this would be a map from role namespace to class namespace? | ||
stevan | I think private methods/attributes can be dangerous too | ||
spinclad: no, the contents of the role namespace is composed into the class namespace | |||
spinclad | without renaming then? | 19:37 | |
autrijus | fglock: a private one maybe | ||
stevan | no, the alias would force a rename | ||
autrijus | fglock: the container only exposes =:= | ||
which is then implemented by comparing ids | |||
but it does not publicly offer .id | |||
spinclad | ok | ||
autrijus | fglock: on the other hand, if we expose them as full perl6 objects (which I'm not sure there is a way to do that yet) | 19:40 | |
then naturally their .id would be their object id. | |||
i.e. the "Cell" are perl6 objects | |||
but I don't think AES has them exposed yet. | |||
in particular, I'm not sure @array.id returns anything. | |||
kolibrie | stevan: light bulb! so a role is like a base class, never used directly, but useful for giving functionality to many classes | 19:41 | |
stevan | kolibrie: that is one way to look at them yes | 19:42 | |
except they can be injected at any point | |||
autrijus | and does not participate in ->SUPER calls | ||
stevan | yes, the SUPER:: calls in a Role method are late bound,.. so they will call the SUPER:: of the class they are composed into | 19:43 | |
autrijus | exactly. | ||
kolibrie | ok | 19:44 | |
TheMaaaa | seen iblech | 19:54 | |
jabbot | TheMaaaa: iblech was seen 21 hours 48 minutes 31 seconds ago | ||
autrijus | journal up. see you tomorrow! | 20:06 | |
autrijus waves & | |||
nothingmuch | hola. | 20:21 | |
fglock | hola nothingmuch | 20:22 | |
shabbath shalom | 20:23 | ||
nothingmuch | not yet shabbath as far as | ||
i'm concerned | |||
i still have friday night which is morally friday =) | |||
fglock | (I forgot about the time zone difference) | 20:24 | |
I'm still confusing the MetaModel and the Runtime a bit | 20:26 | ||
nothingmuch hasn't any time to grok that now =( | 20:30 | ||
ods15 | hello nothingmuch | 20:31 | |
nothingmuch | hi ho | 20:32 | |
say - you know mplayer... I have a broken movie, avi/divx.... can I get it to skip the missing frames and try to find the mpeg sync bytes (assuming MPEG-4 has those) and continue from there? I would like to use mencoder to save a movie which might have some stuff missing, but that is still playable | 20:33 | ||
ods15: ? | 20:35 | ||
ods15 | hmm? | 20:36 | |
nothingmuch | scroll back one line =) | ||
ods15 | oh sorry, was busy hacking :) /me reads Q | ||
if you don't have the index, use main/TOOLS/avi-fix (don't forget '-fix'!) | |||
if you do have the index, just play it back | |||
nothingmuch | no index... -forceidx didn't work either. I'll grab the source and see if said avi-fix works | 20:37 | |
ods15 | regarding avifix, you should probably >/dev/null it's output, it takes more cpu time displaying it than the program to actually work | ||
nothingmuch | heh | ||
ods15 | avifix always works, but it's HELLA slow | ||
the length of the movie is basically the amount of time it takes | |||
nothingmuch | well, i can leave it overnight or something | ||
ods15 | yup | ||
nothingmuch | even on very mean hardware? I can do it work.. =) | 20:38 | |
ods15 | after it works you need -idx, i think, but not sure | ||
nah, it's hd bottleneck, not cpu | |||
pc is defenetaly useable while it's working.. | |||
nothingmuch | ah, in that case I have some very mean hardware for that tooo | ||
6-way sata raid | 20:39 | ||
nothingmuch benchmarked it to around 300MB (yes, bytes) per second, write speed from /dev/zero | |||
and slightly more than that for reading the file into /dev/null | |||
ods15 | lol, hehe | ||
my sata sucks :( pci | |||
nothingmuch | it's got an external scsi interface, so it can handle that load =) | 20:40 | |
ods15: it's outputting 6 lines and exiting with status 1 | 20:43 | ||
ods15 | i dunno. i don't remember much of that prog | 20:45 | |
20:48
PerlJam_ is now known as PerlJam
20:51
chip_ is now known as chip
|
|||
Aankhen`` goes to sleep. | 21:06 | ||
G'night. | 21:07 | ||
renormalist | Hi all! | 21:54 | |
I currently don't quite understand with which kind of regular expression I can work in Pugs. It feels like the half of Apo/Ex/Syn 05, but without the subpatterns and the new stuff? | 21:55 | ||
is there a description what the current useable regex language is in Pugs? | 21:56 | ||
I'm also interested in modifiers like :overlap, :exhaustive and the like. | 21:57 | ||
anyone with a hint awake? | 21:58 | ||
QtPlatypus | renormalist: You can use the grammer parsing capabilities of the regex rules. | 21:59 | |
An I think they have just resently got :w to work. | 22:00 | ||
renormalist | Who is working on this, i.e. whose logs do I have to read to see what happens in that rules-area? | 22:07 | |
or will it just appear in autijus journal entries? | |||
QtPlatypus | Most of the PGE is done on the parrot side of the world. | ||
renormalist | also things like <$subrule> , the stuff that feels like Parse:recdescent? | 22:08 | |
QtPlatypus | <subrule> works | 22:59 | |
{ } doesn't work yet. | |||
fglock_ | hi | 23:13 |