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:06 sri_work left 00:14 wknight8111 left 00:50 alester joined 00:56 ryanc left
meppl good night 01:00
01:00 meppl left 01:05 Khisanth left, Khisanth joined 01:15 hercynium joined 01:35 pbuetow left 01:41 bacek joined 01:42 Alias__ joined 01:53 aindilis left 01:54 aindilis joined 02:02 Alias_ left 02:14 Limbic_Region left 02:17 cognominal_ left 02:18 cognominal_ joined 02:25 justatheory left 02:50 icey joined 02:51 icey left 03:05 jfredett_ is now known as jfredett 03:20 StephenJosephPol left 03:57 hercynium left 04:06 BinGOs left 04:22 BinGOs_ joined 04:30 Alias_ joined 04:48 Alias__ left 05:07 Entonian joined 05:42 Psyche^ joined 05:56 Patterner left, Psyche^ is now known as Patterner 06:23 BinGOs_ is now known as BinGOs 06:36 araujo left 06:44 sri_work joined 07:18 kst joined 07:26 riffraff joined 07:33 Entonian left 07:34 les left, luqui joined 07:35 les joined 07:42 elmex joined 07:45 riffraff left 08:42 barney joined 08:55 Jedai left 09:24 drbean joined 09:26 meppl joined 09:30 revdiablo left 09:37 masak joined 09:39 pmurias joined 09:54 pbuetow joined 10:20 riffraff joined 10:45 b_jonas joined
b_jonas in S02 saying "An identifier may also contain isolated apostrophes or hyphens provided the next character is alphabetic.", does apostrophe and hyphen mean the ascii quote and ascii minus resp, or some unicode? 10:45
10:57 bacek left 11:25 sri_work_ joined 11:26 pochi joined 11:39 sri_work left 11:41 zamolxes joined 11:46 pbuetow_ joined 11:51 rindolf joined
rindolf Hi all. 11:51
b_jonas hi 11:55
rindolf Hi b_jonas 11:56
b_jonas: what's up?
11:57 pbuetow left 12:02 REPLeffect left 12:10 dmq left 12:13 cathyal joined
pmurias rindolf: did you manage to build smop in the end? 12:30
12:38 araujo joined
rindolf pmurias: no. 12:38
pmurias what blocked you? 12:47
rindolf pmurias: Cursor.pm 12:48
pmurias: I followed the instructions and it didn't work.
pmurias you have a full pugs checkout? 12:49
i just tried with a fresh co of a smop and it works 12:51
an svn up 12:52
12:52 luqui left
pmurias 'ed pugs checkout that is 12:53
13:08 riffraff left 13:18 _smg joined
pmurias rindolf: any luck or still the same error? 13:20
13:21 _smg is now known as smg
rindolf pmurias: haven't tried yet. 13:27
pmurias: busy working on Module-Starter. 13:28
13:28 ludan joined
rindolf pmurias: {{make[1]: *** No rule to make target `clean'. Stop.}} 13:32
pmurias: still the same problem.
pmurias rindolf: don't understand how does make clean come into the picture 13:35
walk&
13:35 pmurias left 13:44 zamolxes left 13:52 cathyal left, riffraff joined 13:54 Gothmog_ joined 14:14 jhorwitz joined 14:16 barney left 14:35 riffraff left 14:36 alester left 14:37 alester joined 14:51 alester left, rindolf left 15:12 sri_work_ left 15:15 rindolf joined 15:16 revdiablo joined 15:17 pmurias joined
rindolf Hi pmurias 15:18
pmurias rindolf: hi 15:19
rindolf pmurias: still no luck. 15:20
pmurias: following the instructions.
pmurias pugs -CPIL1 and -CPIL1-JSON and -CPIL1-YAML all bitrotted
rindolf: you're using linux, not some strange OS? 15:21
rindolf pmurias: yes, Linux.
pmurias so you get to the make stage and then the clean error comes up? 15:22
rindolf pmurias: well I type "make clean".
pmurias: or "make distclean".
None of them work. 15:23
pmurias yes
just rm smop and svn up smop 15:24
rindolf pmurias: svn up smop?
pmurias: I don't understand. 15:25
pmurias: in any case {{make -f Makefile.cvs ; ./configure ; make}} - do no work.
pmurias why do you want to make clean?
rindolf pmurias: to start from a clean state.
pmurias: it's a standard Autoconf target
pmurias it's broken by custom Makefiles, and anyway didn't work properly for a long time 15:26
you can just rm -fr the smop directory and just checkout it again 15:27
unless bandwith is really sparse for you
* bandwidth 15:28
pugs_svn r21865 | pmurias++ | [smop] make clean and make distclean print a better error message 15:30
pmurias we use a nonstandard make rule for .sm0p and it doesn't work with make clean and make distclean correctly 15:31
i get a bash: {{make: command not found 15:32
audreyt: is there an nonbitroted way to plug a backend into pugs? 15:41
15:51 rindolf left 15:55 ruoso joined 15:56 alester joined 15:57 alester left 16:00 alester joined, mncharity joined 16:01 rhr_ joined
mncharity TimToady: re parameter types, is there some way to select among possible meanings? eg, "the type is a test, which the compiler must verify at compile or run time", or "the type is authoritative information, which can be relied upon without verification", "the type is a hint, which can be ignored, but must be verified if it is used". 16:05
a matrix on "type must be checked" and "type must be checked if used/depended-upon". 16:06
without the distinction, you run into issues like Moose did, where the programmer adds type information trying to help out the compiler by telling it more, but the compiler treats it as additional burden. 16:08
pmurias: btw, the place to do "is the prelude's infix:<,> being used, and if so, this argument "list" is simply a list" is in the analysis code. 16:10
16:11 alester left 16:12 rhr left
pmurias mncharity: analysis code being after the Match->IR step? 16:12
mncharity and, less commonly (since my fuzzy recollection is you can't tell whether a pair in a capture is a named argument or not until you have a signature), if you can determine the signature which gets some capture, you can recognize the named arguments at that point, again, in analysis.
re after, yes
because you need to grovel over all the use()es, etc, to figure out what's going on. 16:13
pmurias Named arguments are recognized syntactically at the "comma" level
S06:485
the use()s are support to be done during parsing 16:14
mncharity (hmm, no, that grovel argument doesn't work - the uses() have to be at least partially grovelled at parse time to get operator precedence parsing properly)
pmurias s/support/supposed/
mncharity re s06, looking...
b_jonas mncharity: is that specific for arguments, can't those things be applied to any value or container?
mncharity irclog.perlgeek.de/perl6/today ++
lambdabot Title: IRC log for #perl6, 2008-08-09
b_jonas mncharity: also, there's a fourth at least: the value should be typecast to that type if it's not of that type 16:15
pmurias the authoritive information which can be trusted option can be easily discarded, as it would lead to loss of type safety and segfauls 16:17
* segfaults
mncharity re S06:485, ah, neat, that makes it easier. does the current STD.pm do the right thing? if so, we'll get it for free in the switch over. and so you're right, the current IR isn't spec. 16:18
16:18 iblechbot joined
mncharity b_jonas: re typecast, ooo, right. 16:18
16:18 StephenJosephPol joined
b_jonas for containers, I mean that it applies to each value assigned to it 16:19
mncharity pmurias: "the authoritive information which can be trusted option can be easily discarded", only if you have AI-complete compilers; "it would lead to loss of type safety", yes.
:) 16:20
b_jonas can someone answer my question I asked about the S02 change?
pmurias mncharity: STD doesn't attempt to create an AST, it just returns a Match which reflects they way things were parsed 16:22
ruoso: hi
mncharity b_jonas: re arguments, if capture decls are syntactically distinguishing named from positional arguments, then it may be Capture's are now hardwiring that distinction, and so it's independent of the signature which uses them. dunno - need someone who knows spec better than I. pmurias?
pmurias ruoso: i think it would make some sense if you tried writting the m0ld block yourself, as that would uncover what needs documenting 16:23
mncharity pmurias: ah, ok. so in IRx1_FromAST2, I'll add the S06:485 check and massage. hmm, and tweak the Capture IR node. and emitter code... hmm, or maybe fix elf_g first. 16:25
pmurias: is there anything in sNN saying "arguments in a Capture are each one-of named or positional"? 16:28
pmurias you mean if they can be either named or positional?
ruoso hi pmurias 16:29
mncharity pmurias: yes 16:31
pmurias what else can they be?
mncharity lol
no, "does the Capture know which arguments are named, and which positional, before it gets near any Signature". 16:32
pmurias syntactic implies that IMHO 16:33
mncharity the other question is "does the Capture need to remember relative declaration position between positional and named arguments?".
re "syntactic implies", it makes it 'possible'. but 'required'? 16:34
16:35 rhr_ is now known as rhr
mncharity pmurias: so the best thing to build STD_blue on is your DumpMatch code? 16:36
pmurias DumpMatch is used for displaying the match 16:37
mncharity any other code understand how to get from the STD.pm stuff to a Match tree? 16:38
pmurias tryfile 16:39
mncharity re "syntactic implies", hmm, upon reflection, ok, I'll buy that.
pmurias STD5_dump_match
mncharity STD5_dump_match just uses DumpMatch, no? ah, tryfile... 16:40
pmurias it grabs the Match add passes it to DumpMatch
mncharity awesome. thanks. 16:44
16:45 Limbic_Region joined
pmurias ruoso: have you started writing the m0ld block? i'm doing it now 16:50
16:50 iblechbot left
mncharity pmurias: btw, DumpMatch is quite pretty. :) 17:01
pmurias thanks ;)
pugs_svn r21866 | putter++ | [misc/elfish/STD_blue] Created. A src/perl6/tryfile based parser for elf. 17:06
r21866 | putter++ | No more than a sketch so far. pmurias++
mncharity have fun & 17:07
17:07 mncharity left 17:10 jferrero joined
ruoso pmurias, I didn't start yet... 17:14
17:15 [particle]1 joined
pmurias ruoso: i code it, now i'll have to add the syntax sugar to make it work ;) 17:16
* coded 17:17
ruoso :)
pugs_svn r21867 | masak++ | [t/builtins/strings/subst.t] fudged for rakudo 17:23
pmurias ruoso: isn't it lexicalpad not lexicalscope?
pugs_svn r21868 | pmurias++ | [smop] not yet working m0ld block for lexicalscope
17:23 [particle] left
pmurias ruoso: is the term Polymorphic Eval one you made up yourself or a preexisting one? 17:27
ruoso I think nothingmuch created it... 17:28
but It wasn't a reference to something else... 17:29
pmurias, there's one thing I don't get...
if the Mold is supposed to be re-used... how does it reference to local C variables ? 17:30
I thought it would be defined after creating that specific frame
pmurias it references to their content
ruoso in theory, the Mold creation would happen in smop_init time.. 17:31
and not at run time, isn't it?
or else you have the same problem slime has...
pmurias haven't thought of that 17:32
ruoso you need a way to set the value of specific registers in a recently created frame
which you need anyway to replace slime in smop_lowlevel.sm0p 17:33
pmurias using a method?
ruoso it could be done recursing in the C stack
few objects are allowed to do that
17:33 AndyAway is now known as alester
pmurias it's possible to just do frame->register[n] = ...; 17:33
ruoso pmurias, I'd use a native C function to that... 17:34
just to encapsulate that access... and avoiding writing that everywhere...
(remember that you need to lock the value before accessing its data)
can we assume that the registers are in the order of the "my"s 17:35
?
pmurias the ones with the default values are first
ruoso you mean responder,identifier and capture... 17:36
pmurias no i mean my $foo = "baz"
ruoso even if they appear later in the code? 17:37
pmurias yes
ruoso right...
17:37 rindolf joined
ruoso pmurias, is $capture available inside a m0ld block? 17:38
as the incoming capture...
pmurias will have to add that too
ruoso pmurias, in the lexicalscope case we can survive only with the capture... 17:39
but I suppose it doesn't really make a difference, setting the capture or any other register... 17:41
pugs_svn r21869 | pmurias++ | [m0ld] small refactoring using the symbol trick from the quasi-quotes paper 17:44
17:46 drbean left, drbean joined
pmurias ruoso: setting the value of a given register is a bit of a hack, as optimalisation should be free move registers around or even get rid of them 17:48
rindolf Hi ruoso , pmurias 18:20
pmurias, ruoso : so how do I build smop? 18:21
18:31 masak left
pmurias rindolf: is there any way do have a gobby style collaborative shell session 18:36
the way it works for me is make -f Makefile.cvs;./configure;make
rindolf pmurias: doesn't work for me.
pmurias are you in the v6/smop directory of a fully checked out pugs tree? 18:37
rindolf pmurias: yes.
pmurias what's your error than
?
rindolf pmurias: Can't locate YAML/XS.pm in @INC 18:38
pmurias cpan YAML::XS
rindolf No package named perl-YAML-XS 18:39
pmurias: ah.
pmurias: can I use YAML::Syck instead?
ETOOMANYYAMLMODULES
pmurias ask TimToady 18:40
is just typed cpan YAML::Syck and installed it 18:41
look at the Prerequisites in src/perl6/README and install all that stuff 18:43
s/YAML::Syck/YAML::XS
rindolf pmurias: I'd rather not pollute my filesystem. 18:48
ruoso pmurias, but setting registers is a very low-level operation that only code that uses mold frames directly will care about
most of the time mold will be invoked using a Code object 18:49
which abstracts it completely
rindolf [ERROR] failed to create mandriva package for 'YAML-LibYAML': error: %changelog entries must start with * 18:51
18:51 ludanolo joined
ruoso rindolf, that's probably mandriva related, since a debian package is available for this same library 18:52
rindolf ruoso: yes.
ruoso: it's in CPANPLUS::Dist::Mdv
18:53 AzureStone_ left
ruoso actually, no debian package is available... but I built one automatically... 18:54
rindolf ruoso: trying. 18:59
19:02 ludan left 19:05 AzureStone joined
ruoso pmurias, are you planning on implementing setting registers in a C function? or should I just set register[x]? 19:15
pmurias you can just set register[x] for now 19:18
what are you using Mold for? 19:19
ruoso I'm still working on lexicalscope
trying to make it work
or are you working on it too?
pmurias i'm adding syntax sugar to m0ld, to allow using constants in place of registers and have them automaticly declared 19:20
ruoso right...
the capture is always the third register, right? 19:21
pmurias yes
ruoso how can I used from the m0ld code?
s/used/use it/
pmurias you cann't for now
ruoso what can I do to help supporting it? 19:22
pmurias is the interpreter taken at frame creation time? 19:24
ruoso: do you know haskell? 19:25
ruoso at frame creation time, yes... it is...
pmurias, I don't know haskell, but I can dig unknown code ;)
pugs_svn r21870 | pmurias++ | [m0ld] one can just use constants withought predeclaring them 19:26
pmurias i'm thinking of having an arbitary number of registers that need to be filled at Frame creation time instead of the hardcoded 3 19:28
ruoso pmurias, I think that's ok, since mold usage is a very very low-level operation... 19:29
pmurias you mean having the hardcoded 3 registers is ok?
ruoso: we can use one shot Molds, for now and i'll think of a proper scheme later 19:31
ruoso I mean having an arbitrary number of registers
pmurias, the current scheme is ok
we just need a sm0p.pl processing for the mold creation...
and the registers being set after the frame has been created... 19:32
and that's alll 19:33
pugs_svn r21871 | ruoso++ | [smop] sm0p.pl preprocesses q:m0ld blocks correctly, m0ld is still rejecting the code in lexicalscope 19:39
19:39 vixey joined 19:40 alester left
pmurias ruoso: i'm reverting your commit as it confilct with mine with fixes the block 19:42
ruoso pmurias, in lexicalscope or in sm0p.pl?
I've changed both files...
pugs_svn r21872 | pmurias++ | [smop] the m0ld block in lexicalscope compiles 19:44
pmurias ruoso: did your commit do more than the commit message? 19:46
ruoso not really... but I just noticed that you're not including the #line lines
but that's not that important now 19:48
pmurias, you could have @_ mapping to the registers by number...
in m0ld 19:49
pmurias which @_? 19:50
ruoso my $invocant = @_[0].invocant()...
actually
@_[2]
lambdabot Unknown command, try @list
ruoso since capture is the third fixed register
pmurias, you're still not using rdlock and wrlock 19:53
pmurias i'll add it 19:54
is the locking stuff explained on the wiki?
how are we planing to avoid deadlocks? 19:56
19:56 jhorwitz left
ruoso pmurias, never recursing while holding a lock... never lock more than one thing at a time 19:57
pmurias, I need to add a page later... but basically it's three functions that abstracts pthreads rwlock 19:59
pmurias, is it possible to print the line in the source next to each bytecode int sequence in the result file... like... 1,2,3, // line 3 \n3,4,5 // line 4 20:02
pmurias i could hack something in... 20:03
ruoso m0ld is trying to access an uninitialized register at position 22... 20:04
pasteling "rindolf" at 62.219.139.216 pasted "smop building problems." (32 lines, 2.1K) at sial.org/pbot/31849
ruoso sorry... register 22 at position 18
rindolf pmurias, ruoso ^^^
sial.org/pbot/31849
lambdabot Title: Paste #31849 from "rindolf" at 62.219.139.216
20:05 iblechbot joined
ruoso rindolf, you need a more recent ruby 20:05
rindolf ruoso: Ruby...
ruoso: how recent?
ruoso 1.9
rindolf ruoso: 1.9 is development. 20:06
pugs_svn r21873 | pmurias++ | [mold] added a check to catch reading empty registers
pmurias /me-- had a bug in the checker and assumed something else was causing the segfaults 20:07
ruoso rindolf, we're using the STD_red parser for the 'use v6' blocks... and that, unfortunally, uses ruby 1.9
rindolf ruoso: this is getting ridicolous. 20:08
ridiculous
pmurias rindolf: have you installed ghc yet? 20:09
ruoso rindolf, I know... I started using only KP6, but it's speed is worse than having to install this much dependencies
rindolf pmurias: yes, I have ghc.
ruoso and at this point, we're using features KP6 doesn't really have
so, we don't have much options...
rindolf OK, I'm not installing ruby-1.9.x 20:10
Forget it.
./configure should detect it anyway.
ruoso rindolf, ruby can be installed non-intrusive...
and can co-exist with ruby 1.8
rindolf ruoso: I see.
ruoso: can't you use something else to parse this? 20:11
ruoso rindolf, as soon as we bootstrap STD, we will be able to use smop ;)
rindolf Or backport it to ruby-1.8
ruoso mncharity is the one behind STD_red I think... 20:12
I don't really have any ruby skills
pmurias rindolf: i think it's just a single -> {}
rindolf pmurias: what? 20:13
ruoso: who ios mncharity? 20:14
ruoso @seen mncharity
lambdabot I saw mncharity leaving #perl6 3h 7m 7s ago, and .
SamB boggles at the idea of such things using ruby
ruoso can only hope someone to write something that can replace it ;)
pmurias ruby1.9 also has -> {} blocks 20:15
but ruby 1.8 doesn't
rindolf www.drivl.com/posts/view/700 20:16
Tene cardinal does, I think!
lambdabot Title: Drivl.com | How to Make Square Corners with CSS
ruoso rindolf, while I agree that this much dependencies is not pleasant... It's a payoff for getting things done... I hope you can get all set so you can play around with smop, but I can't promise to avoid new dependencies if that's the way to solve the problems... 20:21
in the end, when we bootstrap it, we can eliminate the dependencies... 20:22
20:24 iblechbot_ joined 20:26 alester joined
ruoso pmurias, are you trying to hunt down the bad register lookup or should I get into it? 20:27
pmurias i'm trying to do it but i'm thinking really slowly for some reason 20:28
ruoso pmurias, could you add @_[2] support in the meanwhile? ;) 20:30
I'd like to move that block to the smop_init time...
pmurias $2 would be better than @_[2] 20:32
ruoso indeed
pmurias i think we can get away with just setting the 3 free (withough a default value) register 20:36
20:37 iblechbot left
pmurias shower& 20:37
ruoso pmurias, most of the time, all that is going to be needed is the capture 20:38
20:40 rindolf left 20:42 alester left 20:56 iblechbot_ left
pmurias ruoso: how should the function to set a register be called (or should i write a method on the Frame)? 20:56
ruoso mold_reg_set(interpreter, mold, regnum, value) 20:57
?
er...
mold_reg_set(interpreter, moldframe, regnum, value)
I don't think we're going to need a high-level access to the low-level frame 20:58
pmurias any progress with the uninitialised register?
ruoso nope... I think we'll need some sort of debugger soon... 20:59
pmurias the register 22 is set as the first thing in the bytecode 21:00
ruoso pmurias, I was trying to handle m0ld.hs to add support for direct register access... but I couldn't find myself in haskell yet ;) 21:02
pmurias, hm... maybe its value *is* null 21:03
21:05 pmurias left, pmurias joined
pugs_svn r21874 | pmurias++ | [smop] +mold_reg_set 21:07
pmurias ruoso: i could write a tracer which print out what part of bytecode is executed 21:08
21:10 elmex left
pmurias ruoso: it's an error with native capture 21:18
it returns a NULL 21:24
21:28 baest joined
pmurias ruoso: it turned out to be a typo with positionals being used intstead of positional 21:38
s/intstead/instead/ 21:39
pugs_svn r21875 | pmurias++ | [smop] added an ___UNKOWN_METHOD___ to native capture, added primitive commented out tracing support to mold, fixed segfault generating typo 21:42
22:13 pmurias left 22:16 alester joined, alester left 22:23 alester joined 22:29 alester left 22:52 [particle]1 left 22:56 [particle] joined 23:53 [particle]1 joined