pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/ Set by Tene on 29 July 2008. |
|||
00:00
eternaleye left
00:05
justatheory left,
sri_work joined
00:13
aindilis2 joined
00:18
Alias_ joined
|
|||
ruoso | hmpf... | 00:28 | |
if a memory leak is hard to debug, a bad decrease in the refcount is even harder... | 00:29 | ||
00:30
FireMinion joined
|
|||
FireMinion | hey everyone | 00:31 | |
ruoso | for some reason $scalar.FETCH() is being called without an invocant at some point... | 00:39 | |
pugs_svn | r22713 | ruoso++ | [smop] working on fixing the mess in smop | 00:40 | |
00:43
araujo joined
00:52
eternaleye joined
|
|||
wayland76 | It's just occurred to me; if we had a C -> Parrot compiler, then it'd be possible to write replacements for lex and yacc that run on parrot :) | 01:20 | |
ruoso: Ouch. This is when a big screen and a program state storer/reverser would be kinda cool. :) | 01:21 | ||
01:23
justatheory joined
01:42
jhorwitz left
02:05
pmurias joined
02:38
pmurias left
02:44
Psyche^ joined
02:56
Patterner left,
Psyche^ is now known as Patterner
03:04
hercynium joined
03:05
awwaiid left,
sail0r joined
03:06
sail0r left
03:24
hercynium left
03:42
azawawi joined
|
|||
azawawi | hi | 03:42 | |
lambdabot | azawawi: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
azawawi | @messages | ||
lambdabot | moritz_ asked 8h 5m 36s ago: did you write something about your syntax hilighter? a blog or something? if not, I could. | ||
azawawi | moritz_: ping | 03:43 | |
03:47
alanhaggai joined
|
|||
wayland76 | pang? :) | 03:50 | |
(oh, and hey to FireMinion, in response to his earlier message :) ) | |||
azawawi | hi wayland76 | 03:54 | |
04:03
Ontolog joined
04:04
Ontolog left,
Ontolog joined
|
|||
pugs_svn | r22714 | azawawi++ | [STD_syntax_highlight] ETOOMUCHTIME script now copies required web | 04:12 | |
r22714 | azawawi++ | [STD_syntax_highlight] resources to the output html directory | |||
04:18
kisu joined
04:58
alester_ joined
|
|||
pugs_svn | r22715 | azawawi++ | [STD_syntax_highlight] general cleanup, no more unused command line options | 05:04 | |
r22715 | azawawi++ | [STD_syntax_highlight] more compliant POD, passes podchecker | |||
05:16
alc joined
05:32
sevz joined
05:33
sevz left
05:42
justatheory left
05:49
AzureStone_ joined
|
|||
pugs_svn | r22716 | azawawi++ | [STD_Syntax_Highlighter] html files are now prefixed with an underscore | 05:50 | |
r22716 | azawawi++ | [STD_Syntax_Highlighter] to prevent cases like index.t->index.html | |||
05:58
kisu left
06:04
pmurias joined
06:08
AzureStone left
06:09
alester_ left
06:12
smtms left
06:14
zamolxes left,
zamolxes joined
06:16
Ontolog left
|
|||
moritz_ | azawawi: pong | 06:28 | |
06:37
khisanth_ joined,
Khisanth left
06:38
khisanth_ is now known as Khisanth
06:43
Kitchy joined
06:44
pmurias left
|
|||
Kitchy | What's going to be the difference between Pugs and Rakudo? Anything? | 06:47 | |
Or is it just a race and just one will survive? | |||
moritz_ | both aim to implement Perl 6. We'll see if they succeed. | ||
most likely they'll have different backends | |||
Kitchy: there's no reason why not both should survive | 06:48 | ||
but I think most perl hackers love the idea to write the compiler completely in Perl 6 as soon as possible, and bootstrap as soon as one of the current implementations is good enough for that | 06:49 | ||
afk | |||
azawawi | moritz_: ping pong... ;-) | 06:51 | |
moritz_ | s/ping pong/table tennis/ if you please ;) | 06:52 | |
azawawi: was [particle] said, you should blog about the syntax hilighter. | 06:55 | ||
azawawi | ;-) | ||
or you can do it | |||
sorry i forgot about it | 06:56 | ||
moritz_ | I could, if you don't want to | ||
azawawi | sure go ahead | ||
moritz_ | ok, I will (later today) | ||
azawawi | i need to fix the slow too-many nodes bug | ||
reducing the number of nodes to nodes containing only text is like 50% of STD.pm but still 30K nodes is too much | 06:57 | ||
wayland76 | Kitchy: If I understand correctly, Pugs doesn't run on Parrot, thus, other things being equal, Rakudo appeals to me more :) | 06:58 | |
07:03
pmurias joined,
pbuetow joined
07:08
elmex joined
|
|||
azawawi | moritz_: ? | 07:20 | |
moritz_ | azawawi: yes? | 07:21 | |
azawawi | moritz_: what pmurias's name? | ||
moritz_ | azawawi: Paweł Murias | 07:22 | |
azawawi | moritz_: im updating the POD documentation on STD_syntax_highlight | 07:24 | |
moritz_ | good. | ||
azawawi | documentation documentation ;-) | 07:26 | |
07:31
pbuetow left
07:32
Kitchy left
07:34
penk joined
07:37
zamolxes left
|
|||
pugs_svn | r22717 | azawawi++ | [STD_syntax_highlight] added AUTHORS and cleaned up POD | 07:50 | |
r22717 | azawawi++ | [STD_syntax_highlight] ETOOMUCHTIME now copies JQuery to html at the end | |||
07:52
iblechbot joined
07:54
alc left
07:59
cosimo joined,
ejs joined
08:41
tomyan joined
08:45
schmalbe joined
08:51
pmurias_ joined
08:52
pmurias left,
pmurias_ is now known as pmurias
|
|||
pmurias | ruoso: re bvalue the problem with bvalue was that it should have receive a second parameter to a object which should be released after the bvalue disappears | 09:05 | |
i should have implemented it at once but i was too lazy and then forgot about it | 09:13 | ||
09:14
smg left
09:26
Turk joined
09:27
Turk left
09:33
masak joined
09:39
zamolxes joined
09:42
kst left
09:49
jauaor joined,
pmurias left
|
|||
jauaor | hello | 09:49 | |
masak | jauaor: hi | 09:51 | |
rakudo: if ("f" ~~ m/f/) { my Match $m = $/; } | 09:52 | ||
p6eval | rakudo 31963: OUTPUT[Type check failedcurrent instr.: 'parrot;Perl6Object;infix:=' pc 60 (src/gen_builtins.pir:52)] | ||
jauaor | hello masak | ||
how are you? | |||
masak | jauaor: I'm fine. what can I do for you today? | ||
jauaor | masak: hah, good ... not much for now I think ... | 09:53 | |
just looking around :-) | |||
masak | jauaor: have a look at pugs and rakudo, and let me know if you have any questions. :) | ||
jauaor with some free time lately and considering to look closer at perl6 | |||
masak | it's worth it. | ||
jauaor: you heard about November, the wiki engine? | |||
jauaor | masak: sure I will ... mainly rakudo ... I have already played a bit with pugs ... | 09:54 | |
masak: oh .. wiki engine .. in perl6? | |||
masak | aye | ||
jauaor | no I evidently have not | ||
link? | |||
masak | github.com/viklund/november/ | ||
lambdabot | Title: viklund's november at master — GitHub | ||
masak | www.november-wiki.org/ | ||
jauaor didn't know we already had whole projects in perl6 | 09:55 | ||
jauaor checks | |||
lambdabot | Title: Main_Page | ||
masak | jauaor: if you have free time, we'd love to have you aboard. | ||
it's a great way to get to know Perl 6 and Rakudo | |||
jauaor | wow awesome | 09:56 | |
masak: oh, thanks! .. you know, I have been hanging around for a while now (araujo is my alter ego .. :-P) | |||
azawawi | moritz_: ? | 09:57 | |
hi masak | |||
masak | jauaor: ah. | ||
jauaor | even got a commit bit for pugs long ago .. sadly, I have had not enough time ... | ||
masak | jauaor: the one who meant "box of macaws" in Esperanto. :) | 09:58 | |
jauaor | now with some free time at hands, I find perl6 really interesting, and I hope to keep a closer eye on it ... (and cooperating if possible) | ||
masak: hahaha yeah | |||
now I remember you | |||
:-) | |||
masak | we all contribute at the level possible for each of us. | ||
azawawi | congratz masak++ on the november wiki p6 engine... im reading the PDF as we speak. | 09:59 | |
masak | azawawi: thanks. | ||
jauaor | masak: you the author of november? | ||
masak | jauaor: one of them. | ||
jauaor | awesome | ||
masak | we like to think so, yes :) | ||
jauaor | masak: never played with rakudo, I will look into it | 10:00 | |
I have only barely run pugs | |||
azawawi | it is nice to see some real p6 apps in the wild ;-) | ||
jauaor | yeah, I do think so too | ||
azawawi | masak: any online link? | ||
masak | jauaor: I've found translating small scripts from p5 to Rakudo Perl 6 to be very instructive | ||
azawawi: www.november-wiki.org/ | 10:01 | ||
lambdabot | Title: Main_Page | ||
azawawi | masak: does it cache anything or is this a straight CGI response? | 10:02 | |
jauaor | masak: I guess that helps a lot yeah | ||
masak | azawawi: right now, no caching. it isn't hard to add, though. | ||
furthermore, the version running on the page is months old, so much has changed | 10:03 | ||
azawawi | masak: so that's good rakudo performance ;-) | ||
masak | azawawi: well, pre-compiled modules helped a lot. | ||
I don't think we can update until that works again in Rakudo | 10:04 | ||
azawawi | masak: precompiled module? | ||
masak | yes, let me fetch you my journal entry about it, hold on... | ||
use.perl.org/~masak/journal/37263 | 10:05 | ||
lambdabot | Title: Journal of masak (6289) | ||
azawawi | masak: if you need help with anything ajax, let me know ;-) | ||
masak | azawawi: I think we'll be at that point in early 2009 | ||
I'll let you know then | |||
azawawi | again masak++ after reading november.pdf | 10:07 | |
masak: btw, im nearly done optimizing the javascript for STD.pm syntax highlighted [77K nodes] | 10:08 | ||
masak | azawawi: cool | ||
azawawi++ | |||
azawawi | and next step is gonna be keyword+types highlighting... | ||
masak: a cool thing would be to use STD_syntax_highlight for november wiki... ;-) | 10:09 | ||
masak | azawawi: yes. | 10:10 | |
it's definitely a possible use case. | |||
sounds like a good fit for a plugin, too. | 10:11 | ||
azawawi is thinking about a disk cache-able STD_syntax_highlight CGI script | |||
masak | we've sort of begun thinking about plugins in November | ||
azawawi | nice | ||
10:17
pmurias joined
|
|||
pmurias | azawawi: how are you optimizing the js output? what i thought of doing is <span class="red">foo</span><span class="green">bar></span> | 10:18 | |
10:32
pedrob joined
|
|||
ruoso | pmurias, but even that way, I think it's the actual lookup that needs to be lazy, even to support autovivification as spec | 10:35 | |
azawawi | pmurias: i used $("body").mousemove instead of $("span").mouseover... | 10:38 | |
pmurias: so instead of N span .mouseover bind/unbind, only one is needed... | 10:39 | ||
pmurias: but it is not in svn yet... fixing a couple of bugs | |||
10:40
pedrob left
|
|||
ruoso | pmurias, anyway... that memory errors seems to be escalating... I decided to hunt them down and get everything on shape again | 10:43 | |
10:44
smg joined
|
|||
pmurias | ruoso: killing them as they appear seems to be the only solution | 10:44 | |
ruoso | yeah... and we should put valgrind to run at make test... | ||
to avoid not detecting them in time | |||
pugs_svn | r22718 | pmurias++ | [smop] valgrind is used to run make test | 10:46 | |
ruoso | pmurias, I think lookup_key on s1p_hash is not working as expected... could you help me review it? | 10:50 | |
pmurias | ok | ||
ruoso | just a note, lookup_key is the old postcircumfix:{ }... but it never return a bvalue... postcircumfix:{ } is now always lazy... | 10:51 | |
pmurias | ruoso: it should be possible to modify SMOP_RELEASE and SMOP_REFERENCE to print their line number would it help? | 10:52 | |
ruoso | I think it's already doing it | ||
pmurias | yes | 10:53 | |
ruoso | pmurias, but the problem now is that lookup_key seems to be returning NULL at some point... which simply was not supposed to happen | 10:54 | |
that or m0ld is building a invocant-less capture somewhere... | 10:56 | ||
actually... the later seems more likely | |||
btw, I'm talking about test/15 | 10:59 | ||
pmurias | ruoso: NULL is not supposed to be return by SMOP_DISPATCH ever? | 11:02 | |
ruoso | yes... I know... | 11:03 | |
11:04
iblechbot left
|
|||
ruoso | ok... now that's weird... there seems to be an invocant returned by native_capture, because the last reference happens at native_capture.c:300 | 11:05 | |
but the segfault happens at s1p_scalar:24 | 11:06 | ||
pugs_svn | r22719 | pmurias++ | [smop] added SMOP_HUNT_NULLS option | 11:11 | |
r22720 | azawawi++ | [STD_syntax_highlight] optimized JS code so that only one mousemove is needed | |||
r22720 | azawawi++ | [STD_syntax_highlight] instead of N nodes binding mouseover,mouseclick events (N*2) | |||
azawawi | pmurias: any hint why rx.t is so slow with STD tree traversal? | 11:12 | |
pmurias: it takes like 5600-5800 secs to process | 11:13 | ||
ruoso | pmurias, ok... found one problem... the S1P::Scalar prototype is being used as a value, but it is the RI for itself and doesn't special case itself... so it tries to use itself as a scalar... | ||
pmurias | the old fashioned prototypes are just looking for trouble you now | 11:14 | |
;) | |||
ruoso | :) | ||
pmurias, the other problem I already spotted is using refcount on the prototypes that are visible as C symbols | 11:15 | ||
azawawi | @tell moritz_ how did u get STD.pm to work with STD_syntax_highlight... im getting unicode errors? | ||
lambdabot | Consider it noted. | ||
pmurias | ruoso: what's wrong with that? | ||
ruoso: not having them as C symbols if possible would be best, as it would free as from having to take care of destroying them manualy | 11:18 | ||
ruoso | pmurias, the destruction order gets confused | ||
pmurias, but some of these symbols are used in the destruction process of each other | 11:19 | ||
pmurias | the not being visible from C countes as 1 RELEASE in the prototypes in src/proto.ri right? | 11:20 | |
* counts | |||
ruoso | actually it would count as not doing an additional reference when adding them into the namespace hash | 11:21 | |
pmurias | or do they get used via their C name? | ||
ruoso | yes, they do | ||
azawawi | i have one question, does that look right? feather.perl6.nl/~azawawi/html_for_...y_mmd.html | ||
lambdabot | Title: ./STD_syntax_highlight ../../t/spec/S02-builtin_data_types/array_mmd.t, tinyurl.com/6ex6qp | ||
azawawi | highlight array and you have 4 levels of identifiers | 11:22 | |
*@data to be specific | |||
pmurias | ruoso: do you think we could manage without storing the prototypes as C symbols? | 11:23 | |
11:23
jauaor left
|
|||
ruoso | I don't think so, at least not easily | 11:23 | |
azawawi++ the syntax tree aside is very cool | 11:24 | ||
azawawi | ruoso: thx, but is right to have 4 nodes of identifiers? | ||
ruoso: s/is /is it | |||
ruoso | pmurias, I think it should be easier to make the prototypes that are visible as C symbols not subject to gc | 11:25 | |
pmurias | yes | ||
and makes less of them visible as C symbols | |||
ruoso | so we need two meta-ri? | 11:26 | |
pmurias | do we have 2 ?! | ||
ruoso | azawawi, it doesn't look right... | ||
pmurias | ruoso: sorry mis read | ||
pmurias thinks very unclearly today | 11:27 | ||
ruoso | pmurias, I think src/ri.c should be the one not subject to gc... | ||
pmurias | and the one subject to gc would be? | ||
ruoso | hmmm... wait... | ||
this is not a good idea... | |||
they are prototypes for a reaosn | 11:28 | ||
azawawi is thinking that infix::<..> is causing that strange behavior | |||
ruoso | you need to be able to call the methods of the prototype on it | ||
it's just that it needs to special case calls in the RI | |||
pmurias | yes and src/ri.c is the this is an RI do *not* call methods on it thing | ||
ruoso | yeah... src/ri.c is for RI's that are not prototypes | 11:30 | |
pmurias | the RI IMHO is supposed to handle method call for stuff like JIT | ||
src/proto.ri is for the prototype | |||
ruoso | but it still only delegates new | 11:31 | |
azawawi | finally rx.html works smoothly (49K nodes) over firefox,chrome and ie and no memory leaks or high cpu usage on exit/window.unload()... | ||
pmurias | it can be extended to delegate more thinks | ||
* things | |||
i thought of having it receive a list | |||
it delegates new only as delegation other things by defaults seemed segfaulty | 11:32 | ||
the way out of the loading/destruction insanity seems for me to me to split out a core set of RI's and loading the other ones with some loading api without putting them in a C symbol table | 11:33 | ||
ruoso | that's what I plan to do for the built-in types | 11:34 | |
but considering this small set of types we have in smop today. | |||
we could simply have them as C symbols | |||
and not subject to g | |||
gc | |||
azawawi | @tell moritz_ FF3 performance/memory problem is now solved. Please feel free to blog anytime... | ||
lambdabot | Consider it noted. | ||
pmurias | ruoso: i think even the s1p stuff should be separated | 11:35 | |
ruoso | maybe... but you need a hash to put ::Hash in the namespace... | 11:36 | |
pmurias | personally i only succeded lately in adding stuff to the loading/destr sequence by repeated trial and error | ||
we can have hash and lexicalprelude in the namespace too | |||
* lexicalscope | |||
ruoso | er... and how is the namespace implemented, if not accessing the Hash by its C symbol | 11:37 | |
11:37
penk left
|
|||
ruoso | and how do hash autovivifies without accessing Scalar by its C symbol | 11:37 | |
pmurias | the lexical prelude dosn't need autovivication right? | 11:38 | |
ruoso | hmmm... | 11:39 | |
I'm quite confused now... | 11:41 | ||
but one thing I'm quite sure... | |||
pmurias | me is very confused today | ||
ruoso: yes? | 11:42 | ||
ruoso | the problems in the destruction order are related to refcount-based destruction mixed with C-symbol availability | ||
So i'd argue that we first make all of them not subject to gc first | |||
then move some types out of it | |||
pmurias | it could work... | ||
ruoso | using the plugin thing | ||
pmurias | we could just destroy them all in a bunch without calling the _destr subs | 11:43 | |
just putting them in a list of things to be free'd without any fancy logic | |||
ruoso | there isn't a fancy logic... | 11:44 | |
just dependencies | |||
the lists in src/internal.h is just this "list of things" | |||
pmurias | even dependencies seem "fancy logic" today for me ;) | 11:45 | |
ruoso | heh | 11:46 | |
pmurias | the one thing i think is important to have all the non-gc things destroyed after the gc thing | 11:47 | |
s | |||
ruoso | right... that's why I suggested that we first make them all not subject to gc | ||
then reorganize | |||
because it's easier to organize with the code actually working ;) | 11:48 | ||
pmurias | yes ;) | ||
ruoso | I'm turning SMOP__Proto__create gc-less | ||
pmurias | the RI dsl could support a %nongc | 11:49 | |
it's the ri.c you should change i think | |||
ruoso | ri.c is already gc-less | 11:50 | |
isn't it? | |||
pmurias | and proto.ri too | ||
ruoso | yes... I'm working on proto.ri | ||
pmurias | SMOP__RI__create creates gc ri's | 11:51 | |
ruoso | ok... let's make the RI dsl building non-gc code first | ||
pmurias | we could have a %nongc flag | ||
ruoso | right... but I'd suggest just doing it gc-less and implementing %gc later | 11:52 | |
pmurias | ok, we can fetch the gc version from revision control later | 11:54 | |
pugs_svn | r22721 | ruoso++ | [smop] making C-visible prototypes gc-less | 11:55 | |
pmurias | you don't need to change tools/ri then | ||
ruoso | pmurias, it's needed to change the destr code | ||
from SMOP_RELEASE to plain free | |||
take a look at s1p_scalar | 11:56 | ||
and the call to SMOP__Proto__create is also different... | 11:57 | ||
pmurias | shopping& | 11:58 | |
pugs_svn | r22722 | ruoso++ | [smop] s1p_scalar looks even better.... | ||
r22723 | ruoso++ | [smop] RI dsl is gc-less | 12:02 | ||
12:10
cognominal_ left
12:14
cosimo left,
cosimo joined
12:16
cognominal joined
12:26
adc_Penner joined
|
|||
pmurias | ruoso: assert(side_effect) is wrong | 12:26 | |
ruoso | pmurias, where did I do it? | 12:27 | |
12:28
abra joined
|
|||
pmurias | smop_lowlevel_wrlock | 12:29 | |
ruoso | hmm... | ||
please fix it | |||
pmurias download & reads pthread docs... | 12:30 | ||
pugs_svn | r22724 | ruoso++ | [smop] some more steps into making smop work again | 12:33 | |
pmurias | s/download/downloads/ | ||
12:35
Southen left
12:36
Lorn_ joined
12:37
Lorn_ left,
Lorn left,
Lorn joined
|
|||
ruoso | pmurias, I think I'll change the RI dsl to make the init and destr in two steps | 12:38 | |
one for the declarations | |||
and other for the mold initialization and destruction | |||
that's one of the points where circular dependencies are arising... | |||
pmurias | makes sense | 12:39 | |
molds are garbage collectable so should be delt with before the RI freeing starts | 12:42 | ||
ruoso | yeah... | ||
I think that was the reason I created the last stage in the smop init/destr sequence | 12:43 | ||
12:43
alanhaggai left
12:55
pedrob joined
|
|||
ruoso | pmurias, prove doesn't have a "-e" option here | 12:55 | |
12:56
pedrob left
|
|||
pmurias | ruoso: it might me from a different module | 12:57 | |
pugs_svn | r22725 | ruoso++ | [smop] things starting to look better... | 12:58 | |
r22726 | azawawi++ | [STD_syntax_highlight] types and routines are now highlighted | 13:04 | ||
r22726 | azawawi++ | [STD_syntax_highlight] light colors are now darker for better contrast | |||
r22727 | ruoso++ | [smop] figures are a bit better... switched make test back to test::harness but using valgrind... fails 13/35 tests... | 13:07 | ||
r22728 | azawawi++ | [STD_syntax_highlight] no more podchecker warnings | 13:10 | ||
13:13
smtms joined
|
|||
pmurias | ruoso: make test doesn't work for me now | 13:13 | |
ruoso | heh... | 13:14 | |
which version of Test::Harness you have? | |||
pmurias | 3.13 | 13:15 | |
pugs_svn | r22729 | ruoso++ | [smop] a bit better 9/35 failures... but several leaks are starting to appear | 13:16 | |
ruoso | pmurias, interesting... which error do you get? | 13:17 | |
pmurias | Parse errors: No plan found in TAP output | ||
ruoso | weird | 13:18 | |
13:19
Lunchy left,
Lunchy joined
|
|||
pugs_svn | r22730 | ruoso++ | [smop] 3/35 failures only... but a lot of leaks... | 13:19 | |
13:20
adc_Penner left
|
|||
azawawi | rakudo: my @foo = <a b c d>; say @foo.exists(5); | 13:21 | |
p6eval | rakudo 31963: OUTPUT[0] | ||
azawawi | rakudo: my @foo = <a b c d>; say @foo.exists(3); | ||
p6eval | rakudo 31963: OUTPUT[1] | ||
azawawi | rakudo: my @foo = <a b c d>; say @foo.exists(4); | ||
p6eval | rakudo 31963: OUTPUT[0] | ||
azawawi | question: .exists is a routine right? | 13:22 | |
anyone? | 13:23 | ||
13:23
adc_Penner joined
|
|||
pugs_svn | r22731 | ruoso++ | [smop] 2 tests failing... even more leaks... | 13:26 | |
azawawi | ruoso: i cant find 'exists' in STD.pm %routinename, is that right? | 13:28 | |
pugs_svn | r22732 | ruoso++ | [smop] trying a different make test to see if that works for pmurias | ||
ruoso | azawawi, exists in that case should be a method name | 13:29 | |
13:31
just_ joined
|
|||
azawawi | rakudo: my @foo = <a b c d>; say exists @foo, 4; | 13:33 | |
p6eval | rakudo 31963: OUTPUT[0] | ||
azawawi | rakudo: my @foo = <a b c d>; say exists @foo, 0; | ||
p6eval | rakudo 31963: OUTPUT[1] | ||
ruoso | in that case exists is a sub | ||
azawawi | ruoso: aka a routine right? | 13:34 | |
masak | nowadays :exists is an adverb, I think | ||
but Rakudo hasn't been updated to reflect that | |||
ruoso | azawawi, yes, but in parsing terms methods and subs are very different things | ||
method calls and sub calls I mean | 13:35 | ||
azawawi | ruoso: im interested in highlighting terms (i.e. coloring ;-) | ||
ruoso | then probably it still matters... sub call might be represented in different collors than method calls.... | 13:36 | |
azawawi | ruoso: thx | ||
13:38
PZt joined,
pochi joined
13:39
jhorwitz joined
|
|||
pugs_svn | r22733 | ruoso++ | [smop] I think things are back in place, we now have a lot of leaks to fix | 13:40 | |
ruoso | pmurias, btw... have you saw that we now have a 'knowhow' keyword and that it solves the mop circularity? | 13:43 | |
pugs_svn | r22734 | azawawi++ | [STD_syntax_highlight] method ops are highlighted in bold black | ||
r22734 | azawawi++ | [STD_syntax_highlight] added missing _routines and _type css | |||
13:45
iblechbot joined
|
|||
pmurias | ruoso: i saw it, it makes the mop non-circular | 13:50 | |
ruoso | and it also allows us to make the compilation of src-s1p completely plain Perl 6 | 13:51 | |
without a different compiler | |||
pmurias | but Class.HOW would returns the PurePrototypeHOW that way | 13:53 | |
ruoso | yes... | ||
pmurias | knowhow is essentially is meta PurePrototypeHOW right? | 13:54 | |
as in Foo meta PurePrototypeHOW | |||
ruoso | yes... it's just that TimToady explained that he expected a different keyword for different metas | ||
pmurias | and how are anonymous metaclasses expected to be used? | 13:55 | |
ruoso | my $foo = knowhow { ... } ? | 13:56 | |
ah... I see.. | |||
good question | |||
$anonmeta Foo { ... } | 13:57 | ||
pmurias | no... | ||
the propably be an is HOW(...) option in the end but using an different keyword is intended to prevent the abuse of the class keyword | 13:58 | ||
13:58
cosimo left
|
|||
pmurias | ruoso: so the current make test doesn't work for you? | 13:59 | |
13:59
TJCRI joined
|
|||
ruoso | it woks... | 13:59 | |
14:00
[particle]2 joined
|
|||
pmurias | it doesn't work for me | 14:00 | |
ruoso | even the latest one? | 14:01 | |
with prove? | |||
pmurias | i have to prove's on my system | 14:02 | |
s/to/2/ | 14:03 | ||
ruoso | hm | ||
pmurias | one came from TAP::Harness the other older one from somewhere else | 14:04 | |
ruoso | that's why I try to keep /usr/local clean | 14:06 | |
pmurias | you could check if your prove comes from TAP::Harness | 14:08 | |
ruoso | it comes directly from perl core | 14:10 | |
it was installed by the "perl" package | |||
pmurias | so it's the old one | 14:11 | |
14:11
[particle] left
|
|||
ruoso | pmurias, it can't be that old, since it comes with perl 5.1 | 14:12 | |
5.10 | |||
pmurias | judging from the copywrite it's 2 years old | 14:13 | |
14:13
cosimo joined
14:14
duzy joined
|
|||
ruoso | but it is the one that comes with perl | 14:15 | |
pmurias | the TAP stuff was rewritten and perl 5.10 has the backwards compatible old version i think | ||
ruoso | I'd rather stick with that then requiring people to install yet another dependency | ||
duzy | discuss pct here? | 14:16 | |
pmurias | parrot compiler tools? | 14:18 | |
ruoso | pmurias, it seems that the mold frame is the one leaking... the other variables seems to be connected to it... | ||
pmurias, I'm using test/35 | |||
duzy | yeap | ||
ruoso | which has the shortest leak list | ||
test/31, actually | |||
duzy, #parrot@irc.perl.org will probably be more effective... | 14:19 | ||
[particle]2 | duzy: better to discuss that on ...yep | ||
duzy | thanks :) | ||
joined, thanks guys :) | 14:20 | ||
14:22
Lorn left
14:28
eternaleye left
|
|||
pmurias | ruoso: found it | 14:30 | |
pugs_svn | r22735 | pmurias++ | [smop] fixed memory leak | 14:32 | |
pmurias | do we really need S1P::Str? | 14:36 | |
s/really// | 14:37 | ||
math& | 14:40 | ||
ruoso | pmurias, I don't think we need S1P::Str... | 14:42 | |
14:49
alanhaggai joined
|
|||
pugs_svn | r22736 | ruoso++ | [smop] solves S1P::Str leaks... | 14:49 | |
14:53
smtms left
15:08
ZuLuuuuuu joined
|
|||
ruoso | there's still just a leak in test/15 | 15:15 | |
15:19
just_ left
|
|||
pugs_svn | r22737 | lwall++ | [instance.t] fix two-terms-in-a-row syntax error | 15:24 | |
pmurias | ruoso: found it, should i fix it? | ||
ruoso | pmurias, sure :P | ||
pmurias | it's a classic overwritting without freeing bug in bind_key | 15:25 | |
15:25
pedrob joined
15:30
aindilis2 left
15:34
[particle] joined
15:38
hercynium joined
15:41
antares__ joined,
antares__ left
15:44
abra left
|
|||
pugs_svn | r22738 | pmurias++ | [smop] removed unintendend circular reference from 15_hash | 15:44 | |
r22738 | pmurias++ | added a test_ target which works here | |||
ruoso .oO( re-encoding a 1hour video in a laptop can hurt your leg ) | 15:46 | ||
15:46
ab5tract joined
|
|||
ruoso | pmurias, right... I think now we can think about having the plugin-loading of types... | 15:48 | |
and then we can start moving some types out to plugins | 15:49 | ||
pmurias | ruoso: it turned out to be a totally different bug in the test ;) | ||
15:51
adc_Penner left
15:52
[particle]1 left
|
|||
pmurias | Loader.load("typename") is the only thing that comes to my mind api-wise | 15:54 | |
or even load("typename")? | 15:55 | ||
15:56
masak left
15:58
TJCRI left
|
|||
ruoso | pmurias, load("filename") ? | 15:58 | |
pmurias | unless there is something specced it seems the best choice | 16:00 | |
not sure if it's the right time to implement it thought | 16:01 | ||
ruoso | S1PLoader? | 16:02 | |
oh... right time, not right name... ;) | |||
16:02
pbuetow joined
|
|||
ruoso | well... it might be the right time, since that's how we're going to load the files in src-s1p | 16:03 | |
16:05
eternaleye joined
|
|||
azawawi wonders when & from where is util/smartlinks.pl called to generate perlcabal.org/syn/S*.html? | 16:06 | ||
[particle]2 | probably a cron job on feather | ||
16:06
duzy left
|
|||
azawawi | [particle]2: thx and does it take the latest util/smartlinks.pl from svn? | 16:07 | |
[particle]2 | probably | ||
16:07
[particle] left
16:08
[particle]2 is now known as [particle],
[particle]1 joined
|
|||
pugs_svn | r22739 | azawawi++ | [util/smartlinks.pl] Added STD_syntax_highlight-ed hyperlinks | 16:09 | |
[particle] | azawawi: will that mean that tests inside generated synopses will be syntax-highlighted? | 16:10 | |
azawawi | [particle]: it will have a hyperlink to it.. but not in the same document | 16:12 | |
feather.perl6.nl/~azawawi/syn/ | |||
lambdabot | Title: Index of /~azawawi/syn | 16:13 | |
[particle] | hrmm | ||
moritz_ | that links to feather.perl6.nl/~azawawi/html/S02-...icode.html for example, which is empty | ||
lambdabot | moritz_: You have 2 new messages. '/msg lambdabot @messages' to read them. | ||
tinyurl.com/5zqyed | |||
moritz_ | @massages | ||
lambdabot | azawawi said 4h 58m 6s ago: how did u get STD.pm to work with STD_syntax_highlight... im getting unicode errors? | ||
azawawi said 4h 38m 58s ago: FF3 performance/memory problem is now solved. Please feel free to blog anytime... | |||
azawawi | moritz_: since it fails, the html file size is 0 | 16:14 | |
moritz_ | ah | ||
well, I didn't do anything. It just worked ;) | |||
azawawi | moritz_: when and where is perlcabal.org/syn html generated [via smartlinks.pl]? | 16:16 | |
moritz_ | azawawi: some cronjob, dunno | 16:18 | |
azawawi: perhaps in agentzh's crontab | 16:19 | ||
azawawi | moritz_: but it will take the latest from svn, right? | 16:20 | |
moritz_ | azawawi: it runs docs/feather/script/update-syn | ||
that calls 'svn up', yes | |||
azawawi | moritz_: keywords, methods and types are highlighted now [being generated atm] | 16:22 | |
16:28
eternaleye left
16:30
justatheory joined
16:37
pedrob left
16:39
zamolxes left
16:41
smtms joined
16:46
[particle]2 joined
16:54
kst joined
|
|||
azawawi | moritz_: ? | 16:54 | |
moritz_ | ! | 16:55 | |
azawawi | moritz_: feather.perl6.nl/~azawawi/html/S02-...y_mmd.html | ||
lambdabot | Title: ./STD_syntax_highlight ../../t/spec/S02-builtin_data_types/array_mmd.t, tinyurl.com/597xtr | ||
azawawi | moritz_: highlight 'data' | ||
moritz_: strange parse tree | |||
moritz_ | identifier identifier identifier identifier | 16:56 | |
ab5tract | does anyone know if lwall's presentation about perl6 grammars at reflections|projections was taped? | 16:57 | |
azawawi | moritz_: yeah happens with multi ... | ||
moritz_ | ab5tract: it wasn't about grammars, but it was taped, yes | ||
www.acm.uiuc.edu/conference/2008/videos | |||
lambdabot | Title: Reflections | Projections 2008 : Videos | ||
ab5tract | he keeps mentioning "i'll explain that tomorrow in my talk about grammars" | 16:58 | |
moritz_ | uuh | ||
ab5tract | in that video | ||
moritz_ | I no nothing about that one | ||
but I guess it's similar to the one on google tech talk | |||
azawawi: it's not the 'multi', but the slurpy '*' that leads to that strange parse | 16:59 | ||
ab5tract | ok | ||
azawawi has finished generating the html-s... DONE ;-) | 17:00 | ||
17:01
schmalbe left
|
|||
azawawi | moritz_: how did you generate STD_syntax_highlight for STD.pm? i always get a unicode error... | 17:02 | |
moritz_ | azawawi: I just run it. | ||
azawawi: maybe you have the wrong versions of the wrong modules installed | |||
azawawi | moritz_: ./STD_syntax_highlight STD.pm ? | ||
moritz_ | yes. | 17:03 | |
azawawi | moritz_: that's strange... maybe feather has the wrong modules then... | 17:04 | |
moritz_: can u try it on feather1? | |||
moritz_ | maybe :( | ||
azawawi is trying it on feather3 | 17:05 | ||
17:05
[particle]1 left
|
|||
moritz_ | azawawi: I'll upgrade some modules... | 17:06 | |
azawawi: does ./tryfile STD.pm work for you? | |||
ab5tract | ha i didn't realize lwall == TimToady | 17:07 | |
moritz_ | ;) | ||
TimToady thinks TimToady is larry | |||
[particle] | ...what does he know... | 17:08 | |
moritz_ | TimToady: slurpy array parameters seems to get parsed a bit weirdly - it has a tree of 'identifier' rules of depth 4 | ||
ab5tract | lol. | ||
pasteling | "azawawi" at 212.38.153.250 pasted "./tryfile STD.pm output on feather1" (7 lines, 371B) at sial.org/pbot/32845 | 17:09 | |
pugs_svn | r22740 | lwall++ | [Cursor] generate shorter anonymous class names | 17:10 | |
17:11
Nullity left
|
|||
moritz_ | azawawi: I started my './STD_syntax_highlight STD.pm' a few minutes ago, and still no error (on feather1) | 17:12 | |
TimToady | moritz_: yeah, something screwy there, viv shouldn't be spitting out STD classes... | 17:13 | |
ab5tract | TimToady: i'm a big fan of the perl 6 rewrite. | ||
moritz_ | TimToady: that's even output from STD5_dump_match, I don't think it uses viv techniques | ||
TimToady | btw, my last checkin made "make testt" go from 57 minutes to 44 minutes | 17:14 | |
ab5tract: me too, except for the rewriting part :) | |||
azawawi trying it | |||
ab5tract | hah :D | ||
wasn't sure if you receive enough positive feedback. a substantial portion of the perl community seems to have written p6 off :( | 17:15 | ||
but it ain't hard to tell that rakudo 1.0 is going to be a game changer | 17:16 | ||
azawawi | moritz_: what's your $PATH? | ||
TimToady | moritz_: probably missing a cursor_fresh or a SUBSUME somewhere that is confusing parse levels | ||
moritz_ | azawawi: /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games | ||
TimToady | ab5tract: when we have p6, a substantial portion of the perl community will write p6 back on again :) | 17:17 | |
so I don't worry about the writer-offers much, I just concentrate on finishing :) | 17:18 | ||
ruoso | TimToady++ # www.acm.uiuc.edu/conference/2008/videos is really cool | 17:19 | |
lambdabot | Title: Reflections | Projections 2008 : Videos | ||
TimToady | well, that's more or less my standard stump speech | ||
and yes, the grammar talk was a mutated form of the google talk, albeit with input from Al Aho :) | 17:20 | ||
azawawi | is svn down? | 17:21 | |
TimToady | seems to be | ||
svn: PROPFIND of '/pugs': SSL negotiation failed: Connection reset by peer (svn.pugscode.org) | 17:22 | ||
azawawi | same error but with http: | ||
TimToady | on the other hand, if you're on feather, that's the same machine... | 17:23 | |
moritz_ restarts apache | |||
TimToady | fixed | 17:24 | |
azawawi | perfect | 17:25 | |
moritz_ | /usr/local/bin/incredibly_ugly_hack_to_restart_apache++ | ||
TimToady | that's what you call peddling hard to stay in the same place... :) | ||
ab5tract | TimToady: yeah. i was happy to hear about the "sprint to the finish" grant. | 17:26 | |
ab5tract wishes he had more money and time to donate to perl and parrot foundations | 17:27 | ||
17:28
tomyan left
|
|||
ruoso | does ::$foo means looking for $foo string as the name of a package? | 17:28 | |
TimToady | looks like a syntax error to me | 17:29 | |
and to STD | |||
ruoso | how do I look for a package having a string with its name? | ||
TimToady | ::($foo) | ||
ruoso | ok... | ||
TimToady | sym refs are explicit in p6 | ||
17:29
meppl joined
|
|||
TimToady | also, :: isn't really a sigil, so it's not like @$arrayref | 17:30 | |
meppl | good evening | ||
pugs_svn | r22741 | ruoso++ | [smop] P6Meta is now named Class and it is a knowhow, not a class | 17:31 | |
TimToady | shower & # thinking about how to get rid of TRE | 17:35 | |
[particle] | ab5tract: we'll happily take whatever money you do have ;) | 17:40 | |
17:40
ispy_ joined
17:41
strelok7 joined
|
|||
moritz_ | all of it. ;-) | 17:42 | |
pugs_svn | r22742 | ruoso++ | [smop] STD parses knowhow Class {...}... first shot on a "dispatch" method | 17:43 | |
17:45
diakopter left
|
|||
azawawi | moritz_: Perfect. Perl6 Specs + STD syntax highlighting are now online... ;-) | 17:48 | |
17:51
Alias_ left
|
|||
ruoso | azawawi, the code examples inside the specs also? | 17:54 | |
moritz_ | no | ||
ruoso | that would be cool | 17:55 | |
moritz_ | I objected to that (because of too much load on the browser) | ||
ruoso | it could just be the syntax highlight... without the tree display | 17:58 | |
[particle] | i'd like very much to see the examples and test snippets inside as highlighted | 17:59 | |
azawawi++ for this amazingly cool application of std | |||
azawawi | moritz_: i think we should generate an optimized version for inlined scenarios. Having lots of <SPAN> is really too much for any browser... | 18:00 | |
[particle] | agreed | ||
ruoso | yeah.. .filtering out to include only the SPANs that represent highlight | ||
azawawi | Generally browsers can display 50k html elements in 3 secs on today's computers... | 18:01 | |
ruoso | moritz_, maybe the display in the spec for the smartlinks could be enhanced a bit... like, showing the test number once, and than having two links... | ||
s/test number/test name/ | 18:02 | ||
azawawi | STD.pm is ~77k nodes; filtered to text only nodes is like ~30k | 18:03 | |
18:06
genio joined,
ejs left
18:09
diakopter joined
18:10
[particle]1 joined
18:13
cosimo left
|
|||
pmurias | azawawi: i'll do it then | 18:15 | |
or do you have something started? | 18:16 | ||
azawawi | pmurias: no i was just thinking how to do it ;-) | ||
pmurias: maybe --simple option to generate it | 18:17 | ||
[particle] | --filter=text-only | ||
azawawi | hmmm cool | 18:18 | |
pmurias | color-only maybe? | ||
azawawi | --optimized also... | ||
pmurias: please choose one and let us do it ;-) | 18:19 | ||
TimToady | maybe some solution involving indirecting each routine out to a separate file | 18:20 | |
or each subpackage | 18:21 | ||
pmurias | you mean to keep the structure and load each snippet with an iframe? | ||
azawawi: i would go for --simple | 18:22 | ||
ruoso | pmurias, I undestood as generating more than one file at each pass | ||
TimToady | was thinking in terms of each function/package a clickable link | ||
azawawi | pmurias: if you use an iframe, then you have to put the foo.html on the same hostname [cross-site restrictions] | 18:23 | |
pmurias | azawawi: what i'm thinking is to generate a tag only on color change | ||
* thinking of | |||
18:24
[particle]3 joined
|
|||
pmurias | azawawi: is parsing the CSS sane or do we convert it to YAML? | 18:24 | |
azawawi | pmurias: parsing css is easy... no need for YAML for now. | 18:25 | |
pmurias: let us find things that have color; and then filter out the rest via a simple s{}{} | 18:26 | ||
pmurias | you mean lets instead of let us | ||
azawawi | ;-) | 18:27 | |
18:27
[particle]1 left,
[particle]2 left
|
|||
ruoso | azawawi, in fact, you could simply ignore elements which class is not present in the css | 18:30 | |
azawawi | yup | ||
after we finish this, i was thinking of doing a CGI version of it with a limited disk cache to enable easy web syntax highlighting. Cache key is the md5 of the input file sent... | 18:35 | ||
ruoso | a perl6 paste bot with syntax highlight ;) | 18:37 | |
azawawi | an igoogle gadget with syntax highlight, ... etc ;-) | 18:38 | |
pmurias | an irc bot | 18:50 | |
pugs_svn | r22743 | pmurias++ | [STD_syntax_highlight] proof of concept simple option | ||
azawawi is testing it | 18:51 | ||
pmurias++: gr8 but it seems to remove newlines... | 18:58 | ||
pmurias: my bad, works like a charm when you add <html>...<pre> tags to it | 19:00 | ||
[particle] | i'm curious about the size savings | 19:01 | |
azawawi | it is not done yet; but will calculate it when done | 19:02 | |
[particle] | ah, you're running it already :) | ||
azawawi | pmurias: do u need help with it? | 19:03 | |
pmurias | it = ? | ||
pmurias is currently eating cake | 19:04 | ||
azawawi | pmurias: it = --simple full implementation | ||
lol | |||
ruoso | pmurias, I think it's time for we to review the REPR API | ||
I started to play with Class and I realized it needs a lot of reworking... | |||
pmurias | ok | ||
azawawi | pmurias: im gonna continue working on your POC now... thx | 19:05 | |
pmurias | ruoso: what do we need? | 19:07 | |
ruoso | pmurias, well... at this moment it is declaring methods and multimethods separated | ||
and it is an array instead of a hash | |||
which looks quite awkward | |||
19:08
eternaleye joined
|
|||
ruoso | well, it's only on array in the Class code, which is wrong | 19:08 | |
but splitting methods and multimethods might not be a good idea | |||
19:10
[particle]1 joined
|
|||
pmurias | a multi method is view as a single Code right? | 19:10 | |
ruoso | yeah... I think so.. | ||
but one thing that crossed my mind is the possibility of turning every Code object into a potential multi | 19:11 | ||
pmurias | we could change the List to a Hash? | ||
ruoso | meaning that every code would start being a multi of a single variant | ||
and that every Code would support a method to traverse the variants | |||
even if it has a single variant | |||
pmurias | i think it's fine | 19:12 | |
ruoso | of course the dispatch would need to check for "only" | ||
and stop there... | |||
pmurias, have you seen the proposed multi sub implementation (the %mildew dispatch(...) {..} in s1p_multi.ri? | 19:13 | ||
that code already implies that every code implements .variants() | |||
ZuLuuuuuu | hello, will we be able to use multiline comments in perl6? | 19:14 | |
[particle]1 | yes | ||
ZuLuuuuuu | great, /* */ or something else? | ||
[particle]1 | perlcabal.org/syn/S02.html#Whitespa...d_Comments | 19:15 | |
lambdabot | Title: S02 | ||
ZuLuuuuuu | thanks | 19:16 | |
19:19
eternaleye left
19:20
[particle]3 left
|
|||
ruoso | TimToady, what do you think of turning every Code into a potential multi? meaning that every Code object would need to support .variants(), even if returning itself... | 19:20 | |
this simplifies the dispatching, because it could then be a single process of dispatch | 19:21 | ||
which could stop when finding a proto or an only | |||
19:21
[particle] left
|
|||
ruoso assuming that for now... please shout if that is a bad idea... | 19:27 | ||
19:28
ispy_ left
|
|||
ruoso | the REPR API lists Class storage... is there really a Class storage? or does everything goes to the lexical scope and through methods? | 19:31 | |
ruoso tempted to think that there's no such thing as Class storage | 19:32 | ||
19:33
pochi left
|
|||
ruoso will assume that also... again, please shout if that is a bad idea... | 19:38 | ||
19:39
jan__ left,
ab5tract left
19:40
jan__ joined
|
|||
TimToady | seems fine, in the same sense that .[0] is a no-op on something that is not an array | 19:41 | |
19:41
alanhaggai left
|
|||
TimToady | some MOP instances may choose to provide user storage, but p6 doesn't require it | 19:42 | |
ruoso | TimToady, one last thing... can a Role have a submethod? | 19:43 | |
TimToady | why not? | ||
ruoso | well.. it's not inheritable... it could be not composable... | 19:44 | |
TimToady | to the first approximation, everything in a role just gets pasted into the class :) | ||
ruoso | ok... | 19:45 | |
I think I just realized how to solve the CGI::Simple ~~ CGI issue | |||
TimToady | well, that tests for the CGI role, not the CGI class | ||
19:46
jauaor joined
|
|||
ruoso | well.. re-stating the issue... if some method has the signature :(CGI $query) | 19:46 | |
you want to be able to send a CGI::Simple object there | 19:47 | ||
TimToady | as long as CGI::Simple does CGI, you're fine | ||
ruoso | exactly... the thing is that CGI::Simple doesn't CGI | ||
because CGI is that specific implementation | |||
TimToady | no, the CGI role can at most have a suggested implementation | ||
ruoso | (this issue is about bad design in signatures) | 19:48 | |
TimToady | the CGI class has the real implementation | ||
ruoso | suppose there isn't a CGI role | ||
just a CGI class | |||
but you want to use CGI::Simple instead | |||
then a CGI::Simple object would need to be accepted by a :(CGI $query) signature | 19:50 | ||
in the end, it would get to CGI::Simple ~~ CGI during Signature.ACCEPTS... | |||
TimToady | well, you can always lie about Liskov | 19:51 | |
jauaor greets around | |||
ruoso | that's the point I got... | ||
I found a way to effectively lie about it | |||
the REPR api provides both .^!isa and .^!does | |||
the .^!does is only used for introspection... not for MRO | |||
because the methods in the role were copied to the class | 19:52 | ||
during composition time | |||
TimToady | I...see | ||
ruoso | then you could put a class inside .^!does | ||
without doing the copy | |||
of the methods | |||
and tada! | |||
it works | |||
TimToady | Don't be evil. | ||
:) | |||
'course, the nice thing about google's slogan is that you can always redefine evil to be one step more murderous than what you're currently doing | 19:53 | ||
Hence, I prefer "Be good." | 19:54 | ||
ruoso | does that mean I shouldn't consider it? | ||
or that I should? | |||
19:54
ChanServ sets mode: +o diakopter
|
|||
TimToady | "Be wise as serpents, and innocent as doves." | 19:54 | |
19:55
diakopter sets mode: +o TimToady,
diakopter sets mode: -o diakopter
|
|||
ruoso sometimes gets confused by TimToady's koan | 19:55 | ||
TimToady | that one's not mine, I'm quoting Jesus. | ||
ruoso | I know, but the context is yours | ||
diakopter | "I have said, Ye are gods; and all of you are children of the most High. But ye shall die like men, and fall like one of the princes" | 19:56 | |
TimToady | anyway, you may certainly consider it, just don't do it. :) | ||
ruoso | well... I won't... but the people implementing CGI::Simple-like will do it ;) | 19:57 | |
TimToady | well, if they want to consider that failing the complicated things is fulfilling the CGI contract, that's their decision | 19:58 | |
ruoso | the worst thing about strong typing is how bad it can get if misused... | ||
TimToady, that's precisely the point... sometimes you want to be able to replace legacy code that has a bad signature design | 19:59 | ||
TimToady | I need to commute or fall asleep... | 20:00 | |
ruoso | one thing I learned from my Java years is that few people know that you should use interfaces instead of classes in most method's signature... | ||
and in Java you still have to choose which of the many interfaces that does almost the same thing | |||
and that are unrelated, most of the time | |||
ruoso .oO( I think the excessive Java Core API is even worse then the crappy syntax ) | 20:02 | ||
TimToady | .oO(there's never time to do it right, but there's always time to do it over...) |
20:03 | |
ruoso wash dishes & | 20:04 | ||
cognominal | oops, git msg :fatal: Untracked working tree file 'v6/smop/m0ld/m0ld.hs' would be overwritten by merge | 20:12 | |
ruoso | cognominal, I think you can remove your local copy and continue the pull | 20:19 | |
cognominal | thx | 20:20 | |
20:27
pedrob joined
20:37
pedrob left,
pedrob joined
|
|||
pugs_svn | r22744 | azawawi++ | [STD_syntax_highlight] more --simple fixes (loads the css); but nothing concrete | 20:50 | |
azawawi | im sleepy... going to fix it tomorrow; good night & | 20:53 | |
pmurias | good night | ||
20:54
azawawi left
|
|||
ruoso | pmurias, I've simplified a bit the REPR API | 20:56 | |
pmurias | ruoso: looking | ||
ruoso | (in the wiki, not in src-s1p/) | ||
pmurias, we know need the RW HOW API... like add_method, compose_role... | 20:57 | ||
s/know/now/ | |||
pmurias | on think that seems a bit odd in the REPR API is that an object can have either one prototype or storage | 20:58 | |
ruoso | that's an arbitrary limit... | ||
it has the purpose of blocking turning Undef defined | |||
because otherwise, one could call Object.BUILDALL | 20:59 | ||
and it would become defined | |||
I already thought on removing that limit... | |||
but I haven't made my mind yet | |||
pmurias | shouldn't the metaclass implement the policy side of things | ||
? | |||
20:59
ZuLuuuuuu left
|
|||
ruoso | maybe... | 20:59 | |
but it would require a check in every method call | |||
because BUILDALL is a method like any other | 21:00 | ||
I even thought on letting the user shoot his feet | |||
pmurias | is that typo likely? | 21:01 | |
ruoso | as a typo, maybe... | ||
but as a logic error, it's a bit more likely | |||
$foo might contain undef (which happens to be the Object prototype), and it might call $foo.BUILDALL | |||
pmurias | that seems a version of the problem we encouter with lowlevel prototypes only it doesn't segfault ;) | 21:02 | |
ruoso | heh | 21:03 | |
does that mean we're being successful in bootstrapping the type system? | |||
pmurias | hmm, is the Object prototype shared? | ||
ruoso | by shared you mean... | ||
s/.../?/ | 21:04 | ||
pmurias | if i do my Object $foo;my Object $bar; does $foo and $bar contain the same thing? | ||
ruoso | "my Object $foo" only means a constraint in the Scalar '$foo' to contain only that type... | 21:06 | |
the content of $foo at that moment is "uninitialized" | |||
pmurias | my Foo $foo;$foo = $foo.new() works | ||
ruoso | hmmm.. it does? | 21:07 | |
stupid me... | |||
yes... it does.. | |||
because 'my Foo $foo .= new()' also works | |||
pmurias | yes | ||
ruoso | unless the metaoperator is a special case | ||
pmurias doubts it | 21:08 | ||
ruoso | rakudo: class Foo {}; my Foo $foo; $foo = $foo.new(); say $foo; | ||
p6eval | rakudo 31963: OUTPUT[get_string() not implemented in class 'Foo'current instr.: 'print' pc 14650 (src/gen_builtins.pir:9033)] | ||
ruoso | ok... | ||
rakudo: class Foo{}; my Foo $foo; my Foo $bar; say $foo === $bar; | 21:09 | ||
p6eval | rakudo 31963: OUTPUT[1] | ||
pmurias | so $foo.BUILDALL might be a valid way of creating an object | ||
ruoso | not creating... but building | ||
pmurias | yes | ||
ruoso | creating is the part that returns a new reference | ||
building is the part that initializes that thing | |||
after create, it's undefined... | 21:10 | ||
after buildall, it's defined.. | |||
rakudo: class Foo{has $.a}; my Foo $foo; my Foo $bar; say $foo === $bar; $foo.BUILDALL; say $foo === $bar; $foo.a = 1; say $bar.a; | 21:11 | ||
p6eval | rakudo 31963: OUTPUT[1Method 'BUILDALL' not found for invocant of class ''current instr.: '_block11' pc 181 (EVAL_11:76)] | ||
pmurias | so maybe the restriction is unessesary | ||
ruoso | hm... strange... it seems rakudo doesn't implement S12 correctly | ||
moritz_ | I don't think there's any synopsis it implements correctly yet. | 21:12 | |
ruoso | pmurias, BUILDALL is spec | ||
everything that is an Object needs to support it | |||
pmurias | i know | ||
ruoso | but the code above would make $bar.a return 1 | 21:13 | |
I mean... calling BUILDALL by hand is not something people do all the time | |||
in fact... people is not supposed to call BUILDALL at all | 21:14 | ||
unless defining a new constructor | |||
moritz_ | does BUILDALL call bless()? | ||
[particle]1 | c:\Users\particle\dev\parrot\trunk\languages\perl6>ack BUILDALL | ||
c:\Users\particle\dev\parrot\trunk\languages\perl6> | |||
21:14
[particle]1 is now known as [particle]
|
|||
ruoso | moritz_, src-s1p/Object.pm has a proposed implementation of that | 21:15 | |
moritz_, no... it's bless that calls BUILDALL | |||
moritz_ | ok | ||
pmurias | ruoso: so we might remove the restriction | 21:18 | |
ruoso | pmurias, yeah... I'm quite convinced we can... | ||
this has an important advantage | 21:19 | ||
mixins can be made in the actual object | |||
no need to make a new anonymous type | |||
pmurias | shower& | 21:20 | |
ruoso removing the restriction from the wiki... | |||
21:22
ispy_ joined
|
|||
ruoso | but I think I'll still keep the "instanceof" thing | 21:26 | |
to simplify the lookup for plain objects | |||
and that also defines the return of WHAT | 21:27 | ||
I think I'm going to simplify that a little bit | 21:32 | ||
I'll drop .^!instance, .^!bless and .^!unbless | 21:33 | ||
and have .^!instanceof to be a little smarter | |||
if there's a single isa and no other definition, it'll return the isa | 21:34 | ||
if there's more than one isa and/or any other definition it'll return itself | |||
and every object will need to have the .^!how set | 21:37 | ||
even if an instance | 21:38 | ||
pmurias | ruoso: isn't it a bit of a magic rule? | 21:39 | |
ruoso | which part | 21:40 | |
pmurias | the .^instanceof | ||
pugs_svn | r22745 | ruoso++ | [smop] ^bless sets .^!isa and .^!does instead of calling .^bless on the REPR | ||
ruoso | pmurias, .^!instanceof will be used basically to return WHAT | 21:41 | |
it won't be part of the dispatch, actually | |||
pmurias | do you know what is .add_method going to do internally? | 21:42 | |
ruoso | well... probably .^!methods{$name} = $code | ||
ruoso dinner & | 21:43 | ||
21:43
aindilis joined
21:49
kidd left,
adc_Penner joined
22:01
ispy_ left
|
|||
ruoso | pmurias, I'm back | 22:02 | |
method compose_role($how: $object, $role, *%initialize) {...} | 22:07 | ||
can role composition receive initializing parameters? | |||
or is it really external to the composition process, as S12:1394 seems to imply? | 22:09 | ||
perl6: my $foo = 0 but True; say $foo.WHAT; | 22:15 | ||
p6eval | pugs: OUTPUT[/home/evalenv/pugs/pugs: error while loading shared libraries: libsmop.so: cannot open shared object file: No such file or directory] | ||
..rakudo 31963: OUTPUT[Int] | |||
..elf 22745: OUTPUT[Undefined subroutine &GLOBAL::infix_but called at (eval 119) line 3. at ./elf_f line 3861] | |||
pmurias | ruoso: i think it's just special syntax | ||
ruoso | meaning it is external | 22:16 | |
pmurias | sleep& | ||
yes | |||
22:16
pmurias left
22:18
[particle] left
22:24
alester left
22:26
pedrob left
22:35
ZuLuuuuuu joined,
ZuLuuuuuu left
22:36
ZuLuuuuuu joined
22:37
mberends joined
22:39
jhorwitz left
|
|||
ruoso | rakudo: class Foo { method bar (Int $a) { say 1 } }; class Bar is Foo { method bar (Str $a) {say 2 }}; Bar.bar(1); Bar.bar("a"); | 22:39 | |
p6eval | rakudo 31963: OUTPUT[Parameter type check failedcurrent instr.: 'die' pc 13159 (src/gen_builtins.pir:8135)] | ||
ruoso | rakudo: class Foo { multi method bar (Int $a) { say 1 } }; class Bar is Foo { multi method bar (Str $a) {say 2 }}; Bar.bar(1); Bar.bar("a"); | 22:40 | |
p6eval | rakudo 31963: OUTPUT[Parameter type check failedcurrent instr.: 'die' pc 13159 (src/gen_builtins.pir:8135)] | ||
ruoso | hmpf... | 22:41 | |
22:45
jfredett joined,
adc_Penner left
|
|||
ruoso | elf: class Foo { method bar (Int $a) { say 1 } }; class Bar is Foo { method bar (Str $a) {say 2 }}; Bar.bar(1); Bar.bar("a"); | 22:46 | |
p6eval | elf 22745: OUTPUT[22] | ||
22:50
iblechbot left,
mberends left
|
|||
avar | elf: class Foo { method bar (Int $a) { say $a + 1 } }; class Bar is Foo { method bar (Str $a) {say $a ~ "b" }}; Foo.bar(1); Bar.bar("a"); | 22:51 | |
p6eval | elf 22745: OUTPUT[2ab] | ||
avar | elf: class Foo { method bar (Int $a) { say $a + 1 } }; class Bar is Foo { method bar (Int $a) {say $a ~ "b" }}; Foo.bar(1); Bar.bar("a"); | ||
p6eval | elf 22745: OUTPUT[2ab] | ||
avar | mm fail type checking | 22:52 | |
22:58
elmex_ joined
23:00
jauaor left,
meppl left,
elmex left,
xuser left,
kcwu left,
elmex_ is now known as elmex,
jauaor joined,
meppl joined,
xuser joined,
kcwu joined
23:01
ZuLuuuuuu left
23:04
hercynium left
23:10
Ehtyar left
23:12
Helios- left
23:19
pcbuetow joined
23:20
Ehtyar joined
23:22
Helios- joined
23:25
REPLeffect left
23:29
pbuetow left
23:41
Limbic_Region joined
23:42
[particle] joined
23:57
mjk joined
|