pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by TimToady on 25 January 2008. |
|||
00:05
mncharity joined
00:45
ilogger2 joined
|
|||
nothingmuch | video.google.com/videoplay?docid=-8...6198824415 | 00:58 | |
00:58
nipotaway is now known as nipotan
|
|||
nothingmuch | i think anarchaia++ for that ref but even if no anarchaia++ | 00:58 | |
01:07
lambdabot joined
|
|||
mncharity | nothingmuch: saw him give the talk at Tufts in boston. the part which wasn't "sloooooowwwwlyyyy explaining lisp" was fun. talked to him afterward, trying to see if he had any insights which might apply to p6 and its mutability | 01:30 | |
lambdabot | mncharity: You have 5 new messages. '/msg lambdabot @messages' to read them. | ||
mncharity | (give his work on fortress), but I didn't get much. | ||
01:32
meppl joined
|
|||
mncharity | s/the talk/a talk similarly titled/ #haven't looked at the vid yet | 01:35 | |
nothingmuch | mncharity: this talk is fairly old, 1998 | 02:04 | |
it targets java and all | |||
but that's like maybe 2% of the actual meaningful content =) | 02:05 | ||
"how to fix java" is not a problem many of us care about deeply ;-) | |||
mncharity | but "java didn't get continuations because at one meeting it got put off due to deadline pressure, and was never gotten back to"(my fuzzy recollection), seems a cautionary tale for us all. though less so given p6's nature. :) | 02:14 | |
ok, here's a strawman idea prompted by recent comments. STD doesn't actually do all that much backtracking. It however has lots of code. | 02:24 | ||
I'm interested in transliterating STD into some existing language (ruby or p5), with the objective of getting a useably fast and non-buggy p6 parser. To shake down STD, and perhaps be the front-end for a full p6 bootstrap. | 02:26 | ||
I _had_ been thinking of transliterating STD to use Pugs::Compile::Rule (in cpan) or yet_another_regex_engine (almost certainly faster) or a new ruby version of y_a_r_e (hypothetically fast and pretty). | 02:27 | ||
Ie, get a regexp engine, and then fight to make the code work. | 02:28 | ||
But how about going in the other direction. | |||
Write the code, and then fight to get backtracking in the few places you need it. Eg, using exceptions. | 02:29 | ||
I'm not a great believer in the whole "let's avoid backtracking" ratchet school of thought. But, since STD does, maybe we should/could leverage that here... | 02:30 | ||
Specifically, transliterate STD to ruby or p5 _code_, built on a simple scanner (StringScanner in ruby), and using exceptions to backtrack. Only use the native regexp engine, and that only for low level lexing. | 02:32 | ||
02:32
CoreEvil joined
|
|||
mncharity | thoughts? | 02:32 | |
nothingmuch: re talk is fairly old, I wonder if there's a more recent version about. or some fortress talks. some of it/them have applicability to p6, given fortresses on odd take on syntactic flexibility. | 02:35 | ||
"it's not enough to merely do unicode, we need to do unicode with face information! we need a bold-italic-sansserif-smiley-face!" | 02:36 | ||
(tongue in cheek p6+fortress hybrid cheer) | 02:37 | ||
I suppose a serif smiley would be more interesting. | 02:38 | ||
Auzon | You remind me of the latest xkcd comic :) | 02:39 | |
mncharity looks... | 02:41 | ||
pugs_svn | r19836 | putter++ | src/perl6/STD_extract: now dumps to a report directory. more analysis available - all buggy. | ||
mncharity | ok, even with dictionary assist, don't get it. but I see the smiley... :/ | 02:44 | |
Auzon | The Basilisk sends a smiley and kills the guy on the other end (since they have the stare that kills in fictional works) | ||
mncharity | xkcd.com/378/ LOL | 02:45 | |
lambdabot | Title: xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe | ||
mncharity | ahhhhhh! thank you. :) | 02:46 | |
Auzon | Quite a few mention Perl in amusing ways. | ||
02:46
meppl left
|
|||
Auzon | well, <10, but still | 02:46 | |
02:48
thoughtpolice joined
|
|||
mncharity | what fun. :) back to work. | 02:49 | |
now _really_ back to work. sigh. xkcd!@#$%!@! :) | 03:02 | ||
Auzon | Heh. xkcd is a great comic to watch daily updates on. But it's addicting if you get into the archives :) | 03:03 | |
mncharity | indeed. :/ | 03:08 | |
mncharity wonders what the state of "longest token match" is... goes to read snn | 03:13 | ||
oky, ruby it is, let's see... snack. bbl. & | 03:18 | ||
03:18
drbean_ joined
03:36
drbean_ left
03:41
REPLeffect joined
04:22
Neophytos joined
04:45
CoreEvil left
05:27
araujo joined
|
|||
mncharity | slog, slog. ltr & | 05:32 | |
05:34
REPLeffect left
05:35
REPLeffect joined
05:43
devogon joined
|
|||
spinclad | pugs: my Foo is ro @x[5]; # ?? would be useful: content is ro, container is rw. | 05:59 | |
exp_evalbot | OUTPUT[*** ā¤ Unexpected "is"ā¤ expecting ":" or "("ā¤ at /tmp/cZj2jq8Qtp line 1, column 8ā¤] | ||
spinclad | pugs: my Foo @x[5] is ro; # content is ??, container is ro. | ||
exp_evalbot | OUTPUT[*** ā¤ Unexpected "is"ā¤ expecting operatorā¤ at /tmp/eipaJpT1hE line 1, column 14ā¤] | ||
spinclad | looks like ENOTRAITS | 06:00 | |
06:05
thoughtpolice left,
po_boy joined
06:10
peeps[work] joined
06:13
IllvilJa joined
06:26
justatheory joined
06:28
justatheory left
|
|||
pugs_svn | r19837 | putter++ | misc/red_STD: a first, very crude start, at a ruby-based attempt, to get STD.pm easily runnable. | 06:46 | |
06:47
iblechbot joined
06:50
REPLeffect left
06:55
kanru joined
07:19
peeps[work] left
07:21
psapo joined
07:40
vel joined
07:41
vel left,
vel joined
07:42
iblechbot left
07:45
Aankhen`` joined
07:47
vel left
08:11
cosimo joined
08:35
pmccann joined
08:40
kane_ joined
09:07
kanru left
09:09
devogon left,
devogon joined
09:29
kanru joined
09:49
iblechbot joined
09:53
ebassi joined
09:54
IllvilJa left
10:05
viklund joined
10:23
fridim_ joined
10:25
fridim_ left
10:42
drrho joined
10:49
blindfish joined
11:23
nipotan is now known as nipotaway
|
|||
ruoso considering using .^^method as a the way SMOP identify Representation calls... It's not supposed to be standard Perl 6... | 11:23 | ||
ruoso wonders if that is a good idea | 11:24 | ||
11:36
agentzh joined
|
|||
ruoso | [particle], how hard would it be to mess with the parrot runloop? | 11:37 | |
12:02
pbuetow joined
12:03
meppl joined
12:04
zamolxes joined
|
|||
ruoso | hmmm... when resolving private storage of an object, how can a code know to which class it belongs? I mean, how to know which private slots are available to it? | 12:08 | |
does a closure lately registered as a method of some class have access to the private members? | 12:09 | ||
or is that tied to the package? | |||
moritz_ | I'd expect a closure to have access to the same members as the method wherein it is defined | 12:11 | |
ruoso | hmm S12 seems to imply that "(Private accessors are never virtual, and must be package qualified if called from a trusted scope other than our own. That is, it's either self!attr() or $obj!TrustsMe::attr().)" | ||
if it's tied to the package, we can always have caller.package to resolve private storage | 12:15 | ||
12:15
zamolxes_ joined
12:21
zamolxes left
12:25
zamolxes joined
12:27
chris2 joined
12:31
zamolxes_ left
12:35
zamolxes_ joined
12:39
zamolxes left
|
|||
moritz_ | is there a common notion of what associatiy the power operator ** has? | 12:42 | |
if I read a**b**c I don't know what is meant | |||
it might be a good idea to forbid chained power ops without explict parenthesis | |||
12:43
cmarcelo joined
|
|||
ruoso | moritz_, in theory that resolves as the precedence of infix:<**> | 12:45 | |
12:46
zamolxes_ left
|
|||
ruoso | infix:<**> will get first a**b, than **c | 12:46 | |
which means that, in theory a**b**c means (a**b)**c | |||
moritz_ | so it's left assoc | ||
ok | |||
ruoso | at least that would be what I would expect | 12:47 | |
I'm not sure about i | |||
moritz_ | you see? that's why i'd like to forbid it | 12:48 | |
ruoso | well... it only needs to be documented... | 12:49 | |
just like a * b * c | |||
if any of those implement an overload, the invocation order may make a difference | 12:50 | ||
moritz_ | ok, good point | ||
13:08
monomorph joined
|
|||
ruoso | I think I have the first sketch for the Representation API | 13:16 | |
www.perlfoundation.org/perl6/index....mop_oo_api | |||
lambdabot | Title: SMOP OO API / Perl 6 | ||
13:18
jferrero joined
13:24
pmccann left
|
|||
ruoso | I think CREATE and BUILDALL are not submethods... they are regular methods, aren't they? | 14:00 | |
BUILD on the other hand is a submethod... | |||
I mean, if one can call $class.CREATE(), it should be able to inherit that from Object | 14:02 | ||
wolverian | moritz_, it's right assoc in perl5, and it's kind of natural if you think about the mathematical notation | 14:04 | |
14:11
wknight8111 joined
14:15
drrho left
|
|||
ruoso starting to write Object.pm to realize what else is needed in the WHO and REPR API | 14:16 | ||
14:28
marmic joined
15:01
alester joined
15:03
mattz_ joined
15:16
rindolf joined
15:19
mattz_ left
15:21
mattz_ joined
15:23
TJCRI joined
15:38
njbartlett joined
15:53
turrepurre joined
|
|||
pugs_svn | r19838 | ruoso++ | [smop] src-s1p/Object.pm -- This is the first implementation of the Perl 6 Object in SMOP... This is already written in Perl 6. At some time, it will be translated to C+sm0p, and consequently, to C. | 16:00 | |
ruoso | I realised that the best way of discovering the OO API is to implement the base library | ||
16:04
chris2 left
16:05
njbartlett left
16:10
turrepurre left
16:11
turrepurre joined
16:17
viklund left,
aindilis joined
16:21
Psyche^ joined
16:38
Psyche^ is now known as Patterner
16:43
po_boy is now known as acmoore
16:44
wknight8111 is now known as wknight-away
16:51
peeps[work] joined
16:53
justatheory joined
|
|||
pugs_svn | r19839 | particle++ | typo fix | 16:54 | |
17:07
wknight-away is now known as wknight8111
17:16
fridim_ joined
|
|||
spinclad | moritz_, ruoso: ** associates to the right: a**b**c is a**(b**c), since (a**b)**c can be simplified to a**(b*c). see S06:1761 and S03:3325 (but the synopses do not have a full table of associativities it seems). | 17:19 | |
pugs_svn | r19840 | particle++ | [s1p] one more typo | 17:21 | |
spinclad redundantly agrees with wolverian++ | |||
pugs_svn | r19841 | ruoso++ | [smop] Clone is a method in Object that immediatly delegates to the representation | 17:22 | |
[particle] | i think that associativity part of the synopses is still 'same as perl 5 unless otherwise noted' | ||
ruoso | I'm starting to wonder if Object -> HOW -> REPR should be mandatory... | 17:23 | |
I think it is ok to use Object -> REPR directly when neede | |||
as in method clone { self.^^clone } | 17:24 | ||
[particle] | wait... is .^^foo valid? i can't find it in the synopses | ||
ruoso | it's smop-specific | ||
[particle] | ah! | ||
ok, i'll have to revert | |||
ruoso | it's how the Representation is called | 17:25 | |
17:25
zamolxes joined
|
|||
ruoso | but I'm not still quite sure about the boundaries | 17:25 | |
pugs_svn | r19842 | particle++ | [smop] revert what i thought was a typo but is actually smop-specific syntax | ||
ruoso | maybe I should consider it simply as HOW call... | 17:26 | |
17:26
devogon left
|
|||
pugs_svn | r19843 | rhr++ | [s1p] typo | 17:27 | |
spinclad | same 'typo'? | ||
rhr_ | different one :) | 17:28 | |
ruoso | [particle], what do you think about the HOW x REPR thing? | ||
I'm unsure if there's a need for a REPR at all... | |||
[particle] | ruoso: looking at this code reminded me that i need to implement prefix:<|> in rakudo | ||
ruoso: i'm just diving in now, so i'm not sure what i think yet :) | 17:29 | ||
17:29
DarK-ZeRo joined,
DarK-ZeRo left
|
|||
ruoso | did you see the wiki (smop_oo_api) | 17:29 | |
what makes me wonder about having a separated API for the representation is the fact that HOW deals with inheritance | 17:30 | ||
while REPR manipulates *only* the given object, not trying to resolve inheritance... therefore that's how HOW gets implemented | 17:31 | ||
ruoso . o O ( it would be really nice if more people take over and start to write the other built-in types in smop/src-s1p ) | 17:32 | ||
wolverian | is smop in pugs repo? | 17:33 | |
ruoso | pugs/v6/ | ||
wolverian | thanks | ||
ruoso . o O ( it's nice to realise that the code in src/s1p can actually be translated to C+sm0p... it makes me wonder if it will be possible to have Roles implemented as standard os shared libraries ) | 17:36 | ||
17:36
zamolxes left
17:37
fax joined
|
|||
ruoso | again on the REPR x HOW thing... on the other hand, everything that is in REPR is supposed to be declared as a submethod, with means no inheritance at all, so it might be possible to make everything part of the HOW API | 17:38 | |
17:39
manfred joined,
rindolf left
|
|||
ruoso | but the additional ^ makes it clear that it will only operate in the current object, such as that ^^methods and ^methods are different things... | 17:40 | |
17:41
justatheory left
|
|||
pugs_svn | r19844 | wolverian++ | yap6 -> smop in v6/README, spacing fixes | 17:42 | |
wolverian | hm, I think git-svn is working :) | ||
17:43
aindilis left
|
|||
[particle] | ruoso: but you can't distinguish a submethod from a method by call syntax, can you? | 17:43 | |
17:43
aindilis joined
|
|||
[particle] | (in std perl 6) | 17:43 | |
moritz_ | you can't | ||
ruoso | nope... | ||
so it's probably a good idea to make them really different from each other... | 17:44 | ||
[particle] | "them"? | ||
ruoso | HOW x REPR | ||
^methods x ^^methods | |||
where the first gets all methods (recursing to the parent classes), and ^^methods gets only the methods defined by this class | 17:45 | ||
[particle] | i can argue that metamethod calling should look the same as regular method calling | ||
that is, that submethod and method calls are indistinguishable by call syntax | 17:46 | ||
however, i can see your point, too. | |||
ruoso | I could probably just use different enough names to make the difference | ||
[particle] | but i don't like the inconsistency that metamethods get different syntax, and regular method/submethods don't | ||
pugs_svn | r19845 | wolverian++ | Remove superfluous =back from Object.pm | 17:47 | |
[particle] | btw perl 6 code with perl 5 pod is *ugly* | ||
wolverian | I think that was all the really low-hanging fruit... | ||
ruoso still didn't update to the new pod | |||
:P | |||
[particle] | well, we need a perl 6 pod parser first | 17:48 | |
i've taken one small step in that direction | |||
wolverian | erm, I remember one... | ||
[particle] | i'd *love* to see that grammar extended | ||
wolverian | but was that uploaded to cpan | ||
s/$/?/ | |||
moritz_ still waits for TheDamian to comment more on the new POD | |||
[particle] | ah, right, damianc's perl6::perldoc | 17:49 | |
wolverian | yup | ||
[particle] | moritz_: i've grown tired of wating | ||
i want something that works, even if it needs to be reengineered later | |||
PerlJam | moritz_: I bet TheDamian is waiting for more people to implement/use it. | ||
wolverian | doesn't Perl6::Perldoc work? | ||
moritz_ | [particle]: me too - that's why I use something else for my syntax explainer | ||
ruoso | [particle], re: method x submethod ... there is some reason in S12 for the calling convention to be the same for both method and submethod | ||
moritz_ | wolverian: it does, but there were longish threads on p6l whether it's a good aproach | 17:50 | |
[particle] | ruoso: can that reason be applied to meta* ? | ||
moritz_ | and I feel guilty for setting it off | ||
wolverian | moritz_, oh, the POD spec itself? I remember that thread. :) | ||
moritz_ | wolverian: yeah, that | ||
ruoso | [particle], nope... | ||
moritz_ | basic problem is that in p6 the signature of a sub/method is so expressive that it should appear in the POD | 17:51 | |
wolverian | ruoso, it'd be easier if I had some kind of a template for new types in s1p | ||
ruoso | meta* is different simply because it's not supposed to be a method of the object | ||
moritz_ | but there's no way for code to be in POD and "real" code at the same time | ||
wolverian | though I suspect I'm just lazy and I should read the spec | ||
moritz_ | so you have to duplicate it - d'oh | ||
ruoso | wolverian, s1p is supposed to be Perl 6 compatible | ||
in theory, the next step would be to take some direct descendant of Object and implement it | |||
wolverian | ah. where's the inheritance tree? | 17:52 | |
hm. didn't larry say there is no Undef type? I see one in S02 | 17:53 | ||
17:54
devogon joined
|
|||
ruoso | wolverian, S02 should probably give a clue on the direct Object descendents... | 17:55 | |
wolverian | thanks :) | ||
those are all scary though | |||
[particle] | wolverian: look in v6/v6-KindaPerl6/ for some prior art | 17:56 | |
ruoso: larry will rule one way or the other on the syntax, but i think what you have makes intent clear, and if it works for you, keep it up | 17:57 | ||
ruoso | [particle], I see... but I should probably change "^^" to "^somethingelse" because ^^ might be confusing... | 17:58 | |
I don't know... | |||
wolverian | heh, KindaPerl6/Runtime/Perl6/Int.pm is .. brief :) | 17:59 | |
ruoso | maybe ^! to imply some privacy | 18:00 | |
^!methods | |||
[particle] looks up current method call syntax | 18:01 | ||
private methods are inherited, right? | 18:03 | ||
ruoso | no | ||
private methods are really private | |||
only seen inside the same package | |||
[particle] | ok, so then i like .^! | ||
moritz_ | is there something like "protected" methods in C++? | ||
i.e. private but inherited? | |||
ruoso | moritz_, I don't think so... | 18:04 | |
18:05
meppl left
|
|||
moritz_ | perl.org not responding... | 18:05 | |
pugs_svn | r19846 | ruoso++ | [smop] s/^^/^!/g | ||
moritz_ | ah, works again | 18:06 | |
ruoso | I've also just realised that I don't need to make lame interfaces like "isa_count" and "isa_at" | ||
I can return optimized objects that implement the List API | |||
and it will just work | 18:07 | ||
ruoso owes a beer to nothingmuch for the zen lessons... | |||
wolverian | hm, what'll compile this code? | 18:08 | |
ruoso | s1p | ||
that will turn it into C+sm0p | 18:09 | ||
and sm0p will turn it into plain C | |||
18:11
justatheory joined
|
|||
[particle] | sm0p being a macro preprocessor | 18:11 | |
ruoso | yep | ||
the pretty thing about it is that we will be writing thing in Perl 6 not because we want to look good in the picture, but because it would be completely impossible to maintain it if written in C, given the Stackless and the Dispatching nature of smop | 18:13 | ||
[particle] | so the highest level of smop accepts, what, ast? | ||
ruoso | smop is not yet a compiler... | ||
it have a runloop... | |||
[particle] | yes, it's just a vm now | 18:14 | |
ruoso | some time in the future | ||
wolverian | I'm not sure how one would implement e.g. List on this level | ||
ruoso | Method will keep a reference to the AST and interpret it | ||
[particle] | ok, what's the state of kp6 on smop? | 18:15 | |
ruoso | kp6 is used to run the sm0p grammar | ||
wolverian looks at kp6/Perl6's List | |||
[particle] | wolverian: try Bool first | ||
oh, wait, does smop have bool already? | 18:16 | ||
ruoso | yep | ||
[particle] | ok, and in.t | ||
ruoso | yeah... native int also | ||
implementing the other native types is not tricky at all... | |||
[particle] | native types seems like a good place to start extending | 18:17 | |
18:17
ebassi left
|
|||
wolverian | yeah, but it's C :) | 18:17 | |
ruoso | every Perl programmer knows how to program C | ||
[particle] | for(;;;) {} | 18:18 | |
ruoso | it might now know he knows | ||
fax | ;;; O_O | ||
[particle] | oops, i got carried away with ; | ||
wolverian | well, I suppose native_uint.c shouldn't be too hard... | ||
ruoso | not at all | ||
in fact, it's probably the easier one | |||
considering int is there already | |||
wolverian | yeah, doing it now | ||
[particle] | then it's not far till you have int2 int4 int8 int16 :) | 18:19 | |
wolverian | S02 doesn't actually define those | ||
[particle] | (but what does that get you, speaking practically) | ||
look in s09 | |||
perlcabal.org/syn/S09.html#Sized_types | 18:20 | ||
lambdabot | Title: S09 | ||
ruoso | hmm | ||
in fact... | |||
wolverian | well, damn :) | 18:21 | |
maybe this should be parametrised.. | |||
ruoso | wolverian, it doesn't need to... | 18:22 | |
int is what the architecture says | |||
but you still have the others | |||
and in fact... | |||
my int @nums; is a nice way of implementing List btw | 18:23 | ||
in fact... my Object @nums is also subject to "compact storage" implementation, isn't it? | 18:24 | ||
wolverian | why's test/07_int.c not native_int? | 18:25 | |
ruoso | in fact... there's no reason for using the same representation of the class Array in "my @foo" ... | ||
wolverian | (.c) | ||
[particle] | i'm not sure, because Object isn't a low-level type | ||
ruoso | wolverian, no reason at all... feel free to rename it... just remeber of doing so in Makefile.am too | ||
wolverian | yup. | ||
ruoso | but @foo just need to keep track of a list of pointers (lowlevel-speaking) | 18:26 | |
if it implements the Array API | |||
[particle] | true | ||
ruoso | you can use it as if it were an API | ||
s/an API/an Array/ | |||
thanks to the responder interface model :) | |||
[particle] | 's kinda like is Aggregate does Array | 18:27 | |
ruoso | yep... | ||
everything is Design by Contract | |||
wolverian | do I need to add native_uint.c to somewhere besides Makefile? | ||
[particle] | eiffel, anyone? | ||
18:27
rindolf joined
|
|||
ruoso | wolverian, I don't think so | 18:27 | |
wolverian | I did copy the int test :) | 18:28 | |
one can think of how to test it later | |||
ruoso, not smop.h? | |||
since the test includes it | |||
ruoso | smop_native.h already have uint (i think) | ||
you probably need to add it to the "Boot sequence" | 18:29 | ||
in src/smop_internal.h | |||
18:29
jferrero is now known as JoaquinFerrero,
njbartlett joined
|
|||
wolverian | where's smop_native.h? | 18:29 | |
ruoso | [particle], the great jump is that an Array is simply anything that anwers true to "$foo.does(Array)" | ||
wolverian, include/ | 18:30 | ||
include is the "public API" | |||
wolverian | oh, I searched for *native*.c | ||
ruoso | [particle], and that's the point on you not being able to change the native object's representation... | ||
wolverian | :) | ||
18:31
Jamtech joined,
JoaquinFerrero left,
njbartlett left
18:32
justatheory_ joined
|
|||
[particle] | well, sometimes you do want $foo.isa(Array) rather than .does | 18:32 | |
ruoso | ~~ uses .does | 18:33 | |
[particle] | my primary use case (top of my head) is emulating p5 | ||
duck-typing. | |||
ruoso | ah... but anyway.. the .does includes anything in .isa | ||
.does is a question to the object | 18:34 | ||
wolverian | testing it :) | ||
18:35
cosimo left
|
|||
[particle] | ruoso: true. | 18:35 | |
i really like the idea of role-based composition, and i can't wait to try it out | |||
it's so... liberating. | |||
ruoso | heh... | 18:36 | |
wolverian | well, you could use Moose :) | ||
ruoso | one thing that is intriguing me is the idea of using shared libraries (.so | .dll) as Roles | ||
[particle] | yes, i've used moose for small stuff. love it. | ||
ruoso: a single role, or a collection? | |||
18:37
justatheory left
|
|||
ruoso | [particle], depending on the library, of course... | 18:37 | |
[particle] | right. | ||
ruoso | like being able to say... | ||
[particle] | link in librsingleton.so | ||
ruoso | and also to use them as classes as well.. | 18:38 | |
in fact, the standard Perl 6 library will be a shared object in smop | 18:39 | ||
[particle] | i'm a little scared about using a Class as a Role | ||
18:39
njbartlett joined
|
|||
[particle] | ruoso: that should make pcre easy :) | 18:40 | |
ruoso | indeed... the only problem is pcre unicode support | ||
which I don't think to be any close to what P6 regex need | |||
like :b and :bb | |||
[particle] | there's still a lot to work out wrt unicode support | 18:41 | |
for implementations, that is. | |||
18:42
njbartlett left
|
|||
ruoso | maybe create a cooperative fork of pcre supporting more unicode (considering it can't be merged upstream) | 18:42 | |
18:43
njbartlett joined
18:45
wknight8111 left,
justatheory_ left
18:46
justatheory joined
|
|||
ruoso | wolverian, so... did it work? | 18:46 | |
wolverian | oh, testing.. I hadn't added it to test/Makefile.am first | 18:47 | |
18:48
justatheory left
|
|||
wolverian | mm, colormake... | 18:49 | |
ruoso | colormake? | ||
18:49
justatheory joined,
jferrero joined
|
|||
wolverian | colorises make output to make it easier to digest | 18:50 | |
ruoso | hmm | ||
cool | |||
wolverian | also colorgcc | ||
and colormake-short, which additionally shortens every line to terminal width | |||
er.. running the tests manually worked, except it segfaulted at the end... | 18:51 | ||
hmm | |||
yeah that's not supposed to happen | |||
ruoso | a segfault in the end is a bad thing | 18:52 | |
which one segfaulted | |||
nothingmuch | ruoso: see the lecture I pasted, too | ||
ruoso | nothingmuch, where? | ||
nothingmuch | you'll owe guy steele a keg if you already owe me a beer | ||
wolverian | uint.t | ||
mine :) | |||
wolverian looks over the code | |||
nothingmuch | ruoso: tumblr.woobling.org/post/25792433 | ||
lambdabot | Title: nothingmuch's link dump | ||
nothingmuch | err, oops | ||
copied the URL too early | 18:53 | ||
it'll still lead you there | |||
ruoso | ah... the java lecture... yeah... I saw it | 18:54 | |
almost completely | |||
ok... mostly the first half... then picking small pieces | |||
nothingmuch, any specific part you'd like me to pay special attention ? | 18:55 | ||
nothingmuch | the second half is where the good stuff is | ||
ruoso | oh crap... | ||
nothingmuch | no, just the general philosophy | ||
ruoso | :) | ||
nothingmuch | you probably know it, already | ||
but he's very articulate | |||
and gets the point accross beautifully | |||
and furthermore I agree with the point ;-) | |||
anyway, back to friends | |||
ruoso | hmm... google video doesn't support seek | 18:56 | |
wolverian | ah, I messed up smop_internal.h | 18:59 | |
ruoso | yeah... I know using macro there might not be a good idea... :) it's too easy to forget the \ | ||
19:03
chris2 joined
|
|||
wolverian scratches head | 19:04 | ||
ruoso | wolverian, commit it and than I take a look | ||
wolverian | oh | 19:06 | |
do I need to add it to smop_lowlevel.c? | |||
ruoso | nope | ||
wolverian | refcnt_dec? | ||
it checks for __int explicitly | |||
ruoso | does it? | 19:07 | |
wolverian | see line 195 | ||
wolverian adds it and rebuilds | 19:08 | ||
ruoso | oh... | ||
I see... | |||
I need to document that... | |||
wolverian | :) | ||
ruoso | that is one of the bootstrap shortcuts | ||
wolverian | I figured it was something like that, yeah | 19:09 | |
ruoso | it avoids normal destruction for known objects | ||
wolverian | ...when I found it, after 10 minutes of acking | ||
yeah, makes sense | |||
ok, works now | |||
(tests | |||
) | |||
ruoso | :) | ||
wolverian, I'm going home now... could you please add that as a note to the SMOP Hacking page in the wiki? | 19:10 | ||
besides adding the change in the changelog and your name in smop/AUTHORS ? | |||
:) | |||
wolverian | add it in changelog?! madness! | 19:11 | |
sure :) | |||
pugs_svn | r19847 | wolverian++ | [smop] add native_uint and move native_int's test | ||
ruoso by changelog I mean the wiki's changelog :) | |||
wolverian | sorry that was a single commit, I forgot to pick those apart.. | ||
ruoso | no problem at all | 19:12 | |
wolverian | thanks for guiding me through it | ||
ruoso | :) | ||
now you can implement other native types : | |||
:) | |||
wolverian | oh, wait | 19:13 | |
I can't edit the wiki | |||
the JS editor doesn't workforme | |||
I use ubuntu hardy, so I'm using gecko1.9-based browsers. I think it's broken on those. :( | |||
ruoso | you can use the "simple" version | ||
which is not JS | |||
wolverian | oh, thanks | ||
where's that? | 19:14 | ||
ruoso | in the top of the edit page | ||
wolverian | I don't see it | ||
"Loading editor..." :) | 19:15 | ||
ruoso | outside the editor | ||
wolverian | nope, sorry. hmm. | ||
[particle] | [save] [preview] [cancel] <simple> advanced <edit tips> | ||
wolverian | don't see those. | ||
ruoso | advanced... | 19:16 | |
simple is the JS editor, surprisingly | |||
wolverian | ...righto.. well, I can't get to either | ||
if the link to advanced is in the JS editor | |||
is there a direct url I can use to get to the advanced editor? | |||
ruoso | can you go to the settings? | 19:17 | |
wolverian | yes | ||
[particle] | i don't see anything in settings that will help :( | ||
ruoso | yeah... | ||
wolverian | yeah I looked there first | ||
ruoso | I had just noticed that... | ||
wolverian | I'm a bit annoyed at this wiki now.. :) | 19:18 | |
[particle] | you'll need to contact socialtext | ||
yeah. | |||
ruoso going home & | 19:19 | ||
wolverian | I can edit it via email, I guess... | ||
ruoso will backlog, as usual... | |||
19:20
buchetc joined
19:23
justatheory left
19:24
Schwern joined
19:28
simcop2387 joined
|
|||
obra | win 95 | 19:28 | |
Tene | ETOOMANYCHANNELS | 19:29 | |
19:32
smtms joined
|
|||
wolverian | for once I agree | 19:39 | |
pugs_svn | r19848 | wolverian++ | [smop] Add myself to AUTHORS | 19:44 | |
19:54
jferrero left
20:00
agentzh left
|
|||
[particle] | id' like to build smop. can anybody help me with using autotools? | 20:04 | |
moritz_ | which OS? | 20:05 | |
[particle] | ubuntu | ||
moritz_ | should be straight forward | 20:06 | |
make -f Makefile.cvs | |||
./configure | |||
make | |||
[particle] | i get error cunning make | 20:07 | |
Libtool library used but `LIBTOOL' is undefinde | |||
wolverian | worksforme. do you have libtool? | ||
[particle] | iunno | ||
wolverian | sudo apt-get install libtool | ||
[particle] | already typing :) | 20:08 | |
wolverian | :) | ||
[particle] | why is it called Makefile.cvs? | ||
moritz_ | histerical reasons | 20:09 | |
s/e/o/ # ;-) | |||
[particle] | figured. | ||
20:09
Aankhen`` left
|
|||
[particle] | ok, looks like make succeeded! thanks. | 20:09 | |
moritz_++ wolverian++ | |||
wolverian | yay | 20:10 | |
now *you* can add the rest of the native types | |||
and I can sleep :) | |||
[particle] | oh, is that how it works? | ||
20:10
ruoso joined
|
|||
moritz_ | lol | 20:10 | |
[particle] | i'm getting failures on test/08_native_uint.t | 20:11 | |
wolverian | noooo | ||
[particle] | failed before any test output arrived | ||
wolverian | :( | ||
[particle] | NO SLEEP FOR YOU! | ||
wolverian | dammit | 20:12 | |
[particle] | how do i gdb it? | 20:14 | |
wolverian | that's a good question | ||
I have no idea :) | |||
ruoso | [particle], that's a tricky thing, thanks to libtool | 20:15 | |
wolverian | oh, great, now it segfaults here too | ||
again | |||
ruoso | LD_LIBRARY_PATH=src/.libs/ gdb test/.libs/01_smop_lowlevel.t | 20:16 | |
but you need to do | |||
CFLAGS='-O0 -g3' ./configure make clean check | |||
before | |||
wolverian | oh | ||
[particle] | ruoso: how about a smop debugging page | ||
wolverian | I didn't commit the smop_lowlevel.c change apparently | ||
damn | |||
ruoso | [particle], seems like perfect | ||
wolverian | uh, wtf.. | 20:18 | |
git says it's not tracking that file | |||
wolverian scratches head | |||
oh.. | 20:19 | ||
ruoso | you probably changed the C file | 20:20 | |
wolverian | is smop_lowlevel.c generated at make? | ||
ruoso | tes | ||
yes | |||
wolverian | make distclean didn't remove it | ||
ruoso | from smop_lowlevel.sm0p | ||
I still have to figure out why | |||
wolverian | okay, adding it to the correct file ;) | ||
thanks | |||
done, running test and uploading | 20:24 | ||
20:24
DarkWolf84 joined
|
|||
wolverian | awww it still doesn't work | 20:25 | |
what'd I mess up | |||
hmm | |||
oops :) | 20:26 | ||
works | 20:28 | ||
ruoso | www.perlfoundation.org/perl6/index...._debugging | ||
lambdabot | Title: SMOP Debugging / Perl 6 | ||
wolverian | ruoso++ | ||
pugs_svn | r19849 | wolverian++ | [smop] add uint to smop_lowlevel | ||
[particle] | ruoso++ ruoso++ ruoso++ # your documentation ROCKS! | 20:29 | |
ruoso | :) | ||
wolverian | libtool is rather strange | ||
[particle] | wolverian++ # All tests successful | 20:30 | |
wolverian | yay | ||
ruoso | I know, but building libraries may be tricky... libtool makes it very easy | ||
wolverian | yeah. | ||
ruoso | Test::Harness++ | 20:32 | |
I just love the fact that I can write tests in whatever just printing the TAP | 20:33 | ||
wolverian, hmm... it wasn't supposed to segfault if that line wasn't in smop_lowlevel | 20:34 | ||
maybe you just reproduced a bug I've been trying to isolate | 20:35 | ||
wolverian | that's possible | ||
do you want a gdb trace? | |||
actually I have to sleep now :( I can get you that tomorrow | |||
ruoso | I can take the gdb trace here... thanks anyway... | ||
wolverian++ | 20:36 | ||
wolverian | you're welcome :) | ||
20:38
pmurias joined
|
|||
ruoso | debugging a stackless interpreter is not very funny... | 20:39 | |
I need to implement a real debugger to smop in a very near future | |||
wolverian | can gdb step back? | ||
20:40
thoughtpolice joined
|
|||
ruoso | wolverian, nope | 20:41 | |
20:41
jferrero joined
|
|||
wolverian | ewwwww | 20:41 | |
okay sleep & | |||
ruoso | seeya | ||
pugs_svn | r19850 | ruoso++ | [smop] bug reproduced by wolverian++ fixed. When destroying an object using the prototype interpreter instance (which is stackfull), do not try to use the stackless object destruction. | 20:57 | |
ruoso | and now destroying an interpreter instance using the prototype interpreter instance works just fine... | 21:01 | |
even if that interpreter instance still holds a reference to a continuation that holds references to other objects... | |||
21:02
rindolf left
|
|||
ruoso . o O ( smop uses 5kbytes of memory in total for start and shutdown at the moment ) | 21:02 | ||
ruoso . o O ( but the standard library is not still initialized ) | 21:03 | ||
later & | |||
[particle] | keep plugging those leaks! | 21:04 | |
i wonder what coverity would say about smop | |||
ruoso | valgrind says I don't have any leak | 21:05 | |
no leaks and no errors | |||
later & | |||
pugs_svn | r19851 | buchetc++ | Some new heads and code formats | 21:18 | |
r19852 | buchetc++ | first version of spec tests for S17 | 21:21 | ||
21:26
manfred left
|
|||
moritz_ | buchetc++ # async tests | 21:34 | |
21:58
pmurias left
22:10
IllvilJa joined
22:23
justatheory joined
22:24
pbuetow left
22:25
luqui joined
22:30
pbuetow joined
22:32
Schwern left
|
|||
pugs_svn | r19853 | buchetc++ | remove #?pugs line | 22:38 | |
22:47
Lorn__ joined
22:48
Lorn__ is now known as Lorn
23:03
Jamtech left
23:19
peeps[work] left
|
|||
pugs_svn | r19854 | lwall++ | [async.t] put todos into fudge normal form (see t/spec/README) | 23:36 | |
23:37
TJCRI left
23:41
Limbic_Region joined
23:44
Auzon joined
23:51
cmarcelo left,
chris2 left
23:52
buchetc left
|