Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-08-09

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:50 alester joined #perl6
00:59 meppl good night
01:04 Khisanth joined #perl6
01:15 hercynium joined #perl6
01:40 bacek joined #perl6
01:42 Alias__ joined #perl6
01:53 aindilis joined #perl6
02:17 cognominal_ joined #perl6
02:49 icey joined #perl6
02:51 icey left #perl6
03:19 StephenJosephPol left #perl6
04:22 BinGOs_ joined #perl6
04:30 Alias_ joined #perl6
05:06 Entonian joined #perl6
05:41 Psyche^ joined #perl6
06:43 sri_work joined #perl6
07:17 kst joined #perl6
07:26 riffraff joined #perl6
07:34 luqui joined #perl6
07:34 les joined #perl6
07:41 elmex joined #perl6
08:41 barney joined #perl6
09:23 drbean joined #perl6
09:26 meppl joined #perl6
09:37 masak joined #perl6
09:38 pmurias joined #perl6
09:53 pbuetow joined #perl6
10:19 riffraff joined #perl6
10:44 b_jonas joined #perl6
10:45 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?
11:25 sri_work_ joined #perl6
11:25 pochi joined #perl6
11:41 zamolxes joined #perl6
11:45 pbuetow_ joined #perl6
11:50 rindolf joined #perl6
11:51 rindolf Hi all.
11:55 b_jonas hi
11:56 rindolf Hi b_jonas
11:56 rindolf b_jonas: what's up?
12:12 cathyal joined #perl6
12:29 pmurias rindolf: did you manage to build smop in the end?
12:37 araujo joined #perl6
12:37 rindolf pmurias: no.
12:46 pmurias what blocked you?
12:47 rindolf pmurias: Cursor.pm
12:47 rindolf pmurias: I followed the instructions and it didn't work.
12:48 pmurias you have a full pugs checkout?
12:50 pmurias i just tried with a fresh co of a smop and it works
12:52 pmurias an svn up
12:52 pmurias 'ed pugs checkout that is
13:17 _smg joined #perl6
13:19 pmurias rindolf: any luck or still the same error?
13:27 rindolf pmurias: haven't tried yet.
13:27 rindolf pmurias: busy working on Module-Starter.
13:28 ludan joined #perl6
13:31 rindolf pmurias: {{make[1]: *** No rule to make target `clean'.  Stop.}}
13:32 rindolf pmurias: still the same problem.
13:34 pmurias rindolf: don't understand how does make clean come into the picture
13:34 pmurias walk&
13:52 riffraff joined #perl6
13:54 Gothmog_ joined #perl6
14:14 jhorwitz joined #perl6
14:37 alester joined #perl6
15:15 rindolf joined #perl6
15:16 revdiablo joined #perl6
15:16 pmurias joined #perl6
15:17 rindolf Hi pmurias
15:18 pmurias rindolf: hi
15:19 rindolf pmurias: still no luck.
15:20 rindolf pmurias: following the instructions.
15:20 pmurias pugs -CPIL1 and -CPIL1-JSON and -CPIL1-YAML all bitrotted
15:20 pmurias rindolf: you're using linux, not some strange OS?
15:21 rindolf pmurias: yes, Linux.
15:22 pmurias so you get to the make stage and then the clean error comes up?
15:22 rindolf pmurias: well I type "make clean".
15:22 rindolf pmurias: or "make distclean".
15:22 rindolf None of them work.
15:22 pmurias yes
15:23 pmurias just rm smop and svn up smop
15:24 rindolf pmurias: svn up smop?
15:24 rindolf pmurias: I don't understand.
15:24 rindolf pmurias: in any case {{make -f Makefile.cvs ; ./configure ; make}} - do no work.
15:24 pmurias why do you want to make clean?
15:25 rindolf pmurias: to start from a clean state.
15:25 rindolf pmurias: it's a standard Autoconf target
15:25 pmurias it's broken by custom Makefiles, and anyway didn't work properly for a long time
15:26 pmurias you can just rm -fr the smop directory and just checkout it again
15:27 pmurias unless bandwith is really sparse for you
15:27 pmurias * bandwidth
15:29 pugs_svn r21865 | pmurias++ | [smop] make clean and make distclean print a better error message
15:31 pmurias we use a nonstandard make rule for .sm0p and it doesn't work with make clean and make distclean correctly
15:31 pmurias i get a bash: {{make: command not found
15:40 pmurias audreyt: is there an nonbitroted way to plug a backend into pugs?
15:54 ruoso joined #perl6
15:55 alester joined #perl6
16:00 alester joined #perl6
16:00 mncharity joined #perl6
16:00 rhr_ joined #perl6
16:05 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 mncharity a matrix on "type must be checked" and "type must be checked if used/depended-upon".
16:07 mncharity 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:10 mncharity 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:11 pmurias mncharity: analysis code being after the Match->IR step?
16:11 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.
16:12 mncharity re after, yes
16:12 mncharity because you need to grovel over all the use()es, etc, to figure out what's going on.
16:12 pmurias Named arguments are recognized syntactically at the "comma" level
16:13 pmurias S06:485
16:13 pmurias the use()s are support to be done during parsing
16:13 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)
16:13 pmurias s/support/supposed/
16:14 mncharity re s06, looking...
16:14 b_jonas mncharity: is that specific for arguments, can't those things be applied to any value or container?
16:14 mncharity http://irclog.perlgeek.de/perl6/today ++
16:14 lambdabot Title: IRC log for #perl6, 2008-08-09
16:14 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:16 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:16 pmurias * segfaults
16:17 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:17 iblechbot joined #perl6
16:18 mncharity b_jonas: re typecast, ooo, right.
16:18 StephenJosephPol joined #perl6
16:18 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:19 mncharity :)
16:20 b_jonas can someone answer my question I asked about the S02 change?
16:21 pmurias mncharity: STD doesn't attempt to create an AST, it just returns a Match which reflects they way things were parsed
16:21 pmurias ruoso: hi
16:22 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?
16:23 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:24 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:27 mncharity 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?
16:28 ruoso hi pmurias
16:30 mncharity pmurias: yes
16:30 pmurias what else can they be?
16:31 mncharity lol
16:31 mncharity no, "does the Capture know which arguments are named, and which positional, before it gets near any Signature".
16:33 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?".
16:33 mncharity re "syntactic implies", it makes it 'possible'.  but 'required'?
16:36 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:39 pmurias tryfile
16:39 mncharity re "syntactic implies", hmm, upon reflection, ok, I'll buy that.
16:39 pmurias STD5_dump_match
16:39 mncharity STD5_dump_match just uses DumpMatch, no?  ah, tryfile...
16:40 pmurias it grabs the Match add passes it to DumpMatch
16:43 mncharity awesome.  thanks.
16:45 Limbic_Region joined #perl6
16:49 pmurias ruoso: have you started writing the m0ld block? i'm doing it now
17:00 mncharity pmurias: btw, DumpMatch is quite pretty. :)
17:01 pmurias thanks ;)
17:05 pugs_svn r21866 | putter++ | [misc/elfish/STD_blue] Created.  A src/perl6/tryfile based parser for elf.
17:05 pugs_svn r21866 | putter++ | No more than a sketch so far.  pmurias++
17:06 mncharity have fun &
17:09 jferrero joined #perl6
17:14 ruoso pmurias, I didn't start yet...
17:15 [particle]1 joined #perl6
17:16 pmurias ruoso: i code it, now i'll have to add the syntax sugar to make it work ;)
17:16 pmurias * coded
17:16 ruoso :)
17:22 pugs_svn r21867 | masak++ | [t/builtins/strings/subst.t] fudged for rakudo
17:23 pmurias ruoso: isn't it lexicalpad not lexicalscope?
17:23 pugs_svn r21868 | pmurias++ | [smop] not yet working m0ld block for lexicalscope
17:27 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 ruoso but It wasn't a reference to something else...
17:29 ruoso pmurias, there's one thing I don't get...
17:29 ruoso if the Mold is supposed to be re-used... how does it reference to local C variables ?
17:29 ruoso I thought it would be defined after creating that specific frame
17:30 pmurias it references to their content
17:30 ruoso in theory, the Mold creation would happen in smop_init time..
17:30 ruoso and not at run time, isn't it?
17:31 ruoso or else you have the same problem slime has...
17:31 pmurias haven't thought of that
17:31 ruoso you need a way to set the value of specific registers in a recently created frame
17:32 ruoso which you need anyway to replace slime in smop_lowlevel.sm0p
17:32 pmurias using a method?
17:32 ruoso it could be done recursing in the C stack
17:32 ruoso few objects are allowed to do that
17:33 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 ruoso just to encapsulate that access... and avoiding writing that everywhere...
17:34 ruoso (remember that you need to lock the value before accessing its data)
17:34 ruoso can we assume that the registers are in the order of the "my"s
17:34 ruoso ?
17:35 pmurias the ones with the default values are first
17:35 ruoso you mean responder,identifier and capture...
17:35 pmurias no i mean my $foo = "baz"
17:36 ruoso even if they appear later in the code?
17:36 pmurias yes
17:36 ruoso right...
17:37 rindolf joined #perl6
17:37 ruoso pmurias, is $capture available inside a m0ld block?
17:37 ruoso as the incoming capture...
17:38 pmurias will have to add that too
17:38 ruoso pmurias, in the lexicalscope case we can survive only with the capture...
17:41 ruoso but I suppose it doesn't really make a difference, setting the capture or any other register...
17:43 pugs_svn r21869 | pmurias++ | [m0ld] small refactoring using the symbol trick from the quasi-quotes paper
17:46 drbean joined #perl6
17:47 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
18:20 rindolf Hi ruoso , pmurias
18:20 rindolf pmurias, ruoso : so how do I build smop?
18:35 pmurias rindolf: is there any way do have a gobby style collaborative shell session
18:36 pmurias the way it works for me is make -f Makefile.cvs;./configure;make
18:36 rindolf pmurias: doesn't work for me.
18:36 pmurias are you in the v6/smop directory of a fully checked out pugs tree?
18:36 rindolf pmurias: yes.
18:37 pmurias what's your error than
18:37 pmurias ?
18:37 rindolf pmurias: Can't locate YAML/XS.pm in @INC
18:38 pmurias cpan YAML::XS
18:38 rindolf No package named perl-YAML-XS
18:38 rindolf pmurias: ah.
18:38 rindolf pmurias: can I use YAML::Syck instead?
18:38 rindolf ETOOMANYYAMLMODULES
18:40 pmurias ask TimToady
18:41 pmurias is just typed cpan YAML::Syck and installed it
18:42 pmurias look at the Prerequisites in src/perl6/README and install all that stuff
18:43 pmurias s/YAML::Syck/YAML::XS
18:47 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
18:48 ruoso most of the time mold will be invoked using a Code object
18:48 ruoso which abstracts it completely
18:51 rindolf [ERROR] failed to create mandriva package for 'YAML-LibYAML': error: %changelog entries must start with *
18:51 ludanolo joined #perl6
18:51 ruoso rindolf, that's probably mandriva related, since a debian package is available for this same library
18:51 rindolf ruoso: yes.
18:52 rindolf ruoso: it's in CPANPLUS::Dist::Mdv
18:54 ruoso actually, no debian package is available... but I built one automatically...
18:58 rindolf ruoso: trying.
19:04 AzureStone joined #perl6
19:15 ruoso pmurias, are you planning on implementing setting registers in a C function? or should I just set register[x]?
19:18 pmurias you can just set register[x] for now
19:18 pmurias what are you using Mold for?
19:18 ruoso I'm still working on lexicalscope
19:18 ruoso trying to make it work
19:18 ruoso or are you working on it too?
19:19 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...
19:20 ruoso the capture is always the third register, right?
19:20 pmurias yes
19:21 ruoso how can I used from the m0ld code?
19:21 ruoso s/used/use it/
19:21 pmurias you cann't for now
19:22 ruoso what can I do to help supporting it?
19:23 pmurias is the interpreter taken at frame creation time?
19:24 pmurias ruoso: do you know haskell?
19:24 ruoso at frame creation time, yes... it is...
19:25 ruoso pmurias, I don't know haskell, but I can dig unknown code ;)
19:25 pugs_svn r21870 | pmurias++ | [m0ld] one can just use constants withought predeclaring them
19:28 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?
19:30 pmurias ruoso: we can use one shot Molds, for now and i'll think of a proper scheme later
19:30 ruoso I mean having an arbitrary number of registers
19:30 ruoso pmurias, the current scheme is ok
19:31 ruoso we just need a sm0p.pl processing for the mold creation...
19:31 ruoso and the registers being set after the frame has been created...
19:32 ruoso and that's alll
19:38 pugs_svn r21871 | ruoso++ | [smop] sm0p.pl preprocesses q:m0ld blocks correctly, m0ld is still rejecting the code in lexicalscope
19:39 vixey joined #PERL6
19:41 pmurias ruoso: i'm reverting your commit as it confilct with mine with fixes the block
19:41 ruoso pmurias, in lexicalscope or in sm0p.pl?
19:42 ruoso I've changed both files...
19:43 pugs_svn r21872 | pmurias++ | [smop] the m0ld block in lexicalscope compiles
19:45 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
19:47 ruoso but that's not that important now
19:48 ruoso pmurias, you could have @_ mapping to the registers by number...
19:48 ruoso in m0ld
19:49 pmurias which @_?
19:50 ruoso my $invocant = @_[0].invocant()...
19:50 ruoso actually
19:50 ruoso @_[2]
19:50 lambdabot Unknown command, try @list
19:50 ruoso since capture is the third fixed register
19:52 ruoso pmurias, you're still not using rdlock and wrlock
19:53 pmurias i'll add it
19:54 pmurias is the locking stuff explained on the wiki?
19:55 pmurias how are we planing to avoid deadlocks?
19:56 ruoso pmurias, never recursing while holding a lock... never lock more than one thing at a time
19:58 ruoso pmurias, I need to add a page later... but basically it's three functions that abstracts pthreads rwlock
20:02 ruoso 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:03 pmurias i could hack something in...
20:03 ruoso m0ld is trying to access an uninitialized register at position 22...
20:03 pasteling "rindolf" at 62.219.139.216 pasted "smop building problems." (32 lines, 2.1K) at http://sial.org/pbot/31849
20:03 ruoso sorry... register 22 at position 18
20:03 rindolf pmurias, ruoso ^^^
20:04 rindolf http://sial.org/pbot/31849
20:04 lambdabot Title: Paste #31849 from "rindolf" at 62.219.139.216
20:04 iblechbot joined #perl6
20:05 ruoso rindolf, you need a more recent ruby
20:05 rindolf ruoso: Ruby...
20:05 rindolf ruoso: how recent?
20:05 ruoso 1.9
20:05 rindolf ruoso: 1.9 is development.
20:05 pugs_svn r21873 | pmurias++ | [mold] added a check to catch reading empty registers
20:06 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
20:08 rindolf ruoso: this is getting ridicolous.
20:08 rindolf ridiculous
20:08 pmurias rindolf: have you installed ghc yet?
20:08 ruoso rindolf, I know... I started using only KP6, but it's speed is worse than having to install this much dependencies
20:08 rindolf pmurias: yes, I have ghc.
20:09 ruoso and at this point, we're using features KP6 doesn't really have
20:09 ruoso so, we don't have much options...
20:09 rindolf OK, I'm not installing ruby-1.9.x
20:09 rindolf Forget it.
20:09 rindolf ./configure should detect it anyway.
20:10 ruoso rindolf, ruby can be installed non-intrusive...
20:10 ruoso and can co-exist with ruby 1.8
20:10 rindolf ruoso: I see.
20:10 rindolf ruoso: can't you use something else to parse this?
20:10 ruoso rindolf, as soon as we bootstrap STD, we will be able to use smop ;)
20:11 rindolf Or backport it to ruby-1.8
20:11 ruoso mncharity is the one behind STD_red I think...
20:11 ruoso I don't really have any ruby skills
20:12 pmurias rindolf: i think it's just a single -> {}
20:12 rindolf pmurias: what?
20:13 rindolf ruoso: who ios mncharity?
20:13 ruoso @seen mncharity
20:13 lambdabot I saw mncharity leaving #perl6 3h 7m 7s ago, and .
20:14 * SamB boggles at the idea of such things using ruby
20:14 * ruoso can only hope someone to write something that can replace it ;)
20:14 pmurias ruby1.9 also has -> {} blocks
20:15 pmurias but ruby 1.8 doesn't
20:15 rindolf http://www.drivl.com/posts/view/700
20:15 Tene cardinal does, I think!
20:15 lambdabot Title: Drivl.com | How to Make Square Corners with CSS
20:21 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 ruoso in the end, when we bootstrap it, we can eliminate the dependencies...
20:23 iblechbot_ joined #perl6
20:25 alester joined #perl6
20:26 ruoso pmurias, are you trying to hunt down the bad register lookup or should I get into it?
20:28 pmurias i'm trying to do it but i'm thinking really slowly for some reason
20:30 ruoso pmurias, could you add @_[2] support in the meanwhile? ;)
20:30 ruoso I'd like to move that block to the smop_init time...
20:32 pmurias $2 would be better than @_[2]
20:32 ruoso indeed
20:36 pmurias i think we can get away with just setting the 3 free (withough a default value) register
20:37 pmurias shower&
20:37 ruoso pmurias, most of the time, all that is going to be needed is the capture
20:56 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:56 ruoso ?
20:57 ruoso er...
20:57 ruoso mold_reg_set(interpreter, moldframe, regnum, value)
20:57 ruoso 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?
20:58 ruoso nope... I think we'll need some sort of debugger soon...
21:00 pmurias the register 22 is set as the first thing in the bytecode
21:02 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 ruoso pmurias, hm... maybe its value *is* null
21:05 pmurias joined #perl6
21:07 pugs_svn r21874 | pmurias++ | [smop] +mold_reg_set
21:08 pmurias ruoso: i could write a tracer which print out what part of bytecode is executed
21:17 pmurias ruoso: it's an error with native capture
21:23 pmurias it returns a NULL
21:28 baest joined #perl6
21:37 pmurias ruoso: it turned out to be a typo with positionals being used intstead of positional
21:38 pmurias s/intstead/instead/
21:42 pugs_svn r21875 | pmurias++ | [smop] added an ___UNKOWN_METHOD___ to native capture, added primitive commented out tracing support to mold, fixed segfault generating typo
22:15 alester joined #perl6
22:22 alester joined #perl6
22:56 [particle] joined #perl6
23:53 [particle]1 joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo