|
Parrot 1.3.0 "Andean Swift" released | parrot.org Set by moderator on 23 June 2009. |
|||
| cotto | we'll see | 00:01 | |
| dalek | rrot: r39786 | cotto++ | branches/pmc_pct/compilers/pmcc/src (2 files): [pmcc] Stow the vtable dump in the past during parsing. This isn't ideal, but the info is needed to detect some kinds of errors during past construction. |
00:11 | |
| Whiteknight | cotto: 10 hours in the airport? | 00:15 | |
|
00:15
bacek joined
|
|||
| bacek | hi again | 00:15 | |
| purl | oh, you're back! | ||
| cotto | there's also an adjacent hotel where I may hang out until they ask me to leave | 00:16 | |
| bacek, your commute seems to have shortened. | |||
| dalek | rrot: r39787 | whiteknight++ | branches/io_cleanups/src/io/socket_api.c: [io_cleanups] when PARROT_NETWORKING_SUPPORT == 0, we throw exceptions for all the socket API functions. Don't have a way currently to determine whether this is available from PIR except to catch the exceptions and examine them. Will look for a way to do that soon |
00:18 | |
| cotto | <3 wireless | 00:19 | |
| bacek | cotto: I moved close to work | ||
| cotto | really? | 00:22 | |
| good for you | 00:26 | ||
| bacek | It depends... | 00:28 | |
| Whiteknight | cotto: you buttocks parrot? | 00:31 | |
| :) | |||
| Austin | :) | 00:32 | |
| Everyone <3 parrot | |||
| cotto | only when nobody's watching | ||
| Whiteknight | allison: ping | 00:34 | |
| dalek | cnum-dynpmcs: r90 | darbelo++ | trunk/src/pmc/decnumcontext.pmc: Add a METHOD for restoring the context to default values, and one to clear the |
00:35 | |
| purl | Since Sat May 9 07:45:02 2009, there have been 10995 modifications and 6257 questions. I have been awake for 47 days, 16 hours, 46 minutes, 18 seconds this session, and currently reference 779448 factoids. Addressing is in optional mode. | ||
|
00:42
Austin joined
|
|||
| cotto | < purl-- > | 00:44 | |
| dalek | rrot: r39788 | whiteknight++ | branches/io_cleanups (4 files): [io_cleanups] Add a NETWORKING_SUPPORT flag to the interpinfo opcode, so we can determine from PIR whether we have socket support built in or not. No tests yet |
00:45 | |
| cotto | nice to see you back in action, darbelo | 00:46 | |
| darbelo | I actually commited that to take a break ;) | 00:47 | |
| We seem to be mis-rounding on subtraction on some tests, and I have absolutely no idea why. | 00:48 | ||
| Anyway, I'll tackle that again after I get some food. | 00:52 | ||
| Austin | ?3 | 00:53 | |
| Whiteknight | actually, allison unping | ||
|
00:54
Austin_Hastings joined
|
|||
| Whiteknight | anybody here who knows the Parrot config process well? | 00:54 | |
| Austin_Hastings | Kid51 seems like the go-to guy | 00:55 | |
| If he's here. | |||
| cotto | Whiteknight, what about it? I've briefly messed with it. | ||
| Whiteknight | yeah, kid51 is the bomb-diggity | ||
| cotto: I want to add a flag to it that specifies whether we have networking support or not | 00:56 | ||
| I want configure to set the PARROT_NETWORKING_SUPPORT macro automatically | |||
| cotto | I guess that an advantage of being a Perl guy is that you get to know the perl bits really well. | ||
| something like | |||
| purl | something like what, cotto? | ||
| Whiteknight | soemthing like your momma purl | ||
| cotto | perl Configure.pl --without-networking | 00:57 | |
| Whiteknight | cotto: exactly! | ||
| purl | i guess exactly! is it not awesome? | ||
| Whiteknight | damnit purl! | ||
| purl | rumour has it damnit i am a bot | ||
| cotto | < purl-- > | ||
| Whiteknight | < purl-- > | ||
| cotto | Whiteknight, lemme dig a bit. | ||
| Whiteknight | cotto++ | ||
| I'm like the robinhood of karma: I take from the bots and give to the poor | 00:58 | ||
| well, the poor developers | |||
| cotto | in karma, everyone's poor compared to purl | 01:03 | |
| karma c | |||
| purl | c has karma of 7782 | ||
| cotto | karma purl | ||
| purl | purl has karma of 8616 | ||
| cotto | karma purl-- | ||
| purl | purl-- has neutral karma | ||
| cotto | purl--++ | ||
| karma purl-- | |||
| purl | purl-- has neutral karma | ||
| Tene | (purl--)++ | 01:04 | |
| karma purl-- | |||
| purl | purl-- has karma of 1 | ||
| Whiteknight | now you're having too much fun with it | 01:05 | |
| cotto | wow. Configure.pl and its supporting code are big. | 01:07 | |
| nice. There's a non-trivial docs/configuration.pod | 01:10 | ||
| Whiteknight, you'll have to talk to kid51. I won't say that the configure system is a total mess, but it is complicated beyond my motivation to understand. | 01:13 | ||
| Whiteknight | cotto: yeah, my feelings exactly. I'll ask him | ||
| cotto | karma () | ||
| purl | () has karma of 1 | ||
| cotto | (())++ | ||
| karma () | |||
| purl | () has karma of 2 | ||
| cotto | (()(++ | 01:14 | |
| karma (()( | |||
| purl | (()( has neutral karma | ||
| cotto | ((()()++ | ||
| karma (()( | |||
| purl | (()( has karma of 1 | ||
| cotto | ()++ | 01:15 | |
| karma () | |||
| purl | () has karma of 2 | ||
| cotto | ()++ | ||
| karma () | |||
| purl | () has karma of 2 | ||
| cotto | oh boy, null karma! | ||
| rather empty string karma | |||
| Austin_Hastings | Does ResizablePmcArray have a .join method? | 01:17 | |
| cotto | Austin_Hastings, not a C method, although nqp seems to add one. | 01:18 | |
| Austin_Hastings | works for me | ||
| thx | |||
| cotto | nm. It's not a method. | ||
| it's a separate function. | 01:19 | ||
| Austin_Hastings | bah | ||
| cotto | join('!!!!', @foo); | ||
| Austin_Hastings | Do you know if NQP supports heredocs? | 01:21 | |
| dalek | rrot: r39789 | whiteknight++ | branches/io_cleanups/src/io (2 files): [io_cleanups] fixup the filehandle API a little bit. use GETATTR/SETATTR for attributes which are currently overridable from PIR |
||
| Whiteknight | I have no idea about heredoc support, honestly | ||
| that's a pmichaud question | |||
| Austin_Hastings | Well, the compiler seems to be saying no, but I'm never sure of the syntax with them. I'll just bag it. | ||
| cotto | Austin_Hastings, I'm pretty sure it doesn't. I remember trying to get them to work without success. | 01:25 | |
| Austin_Hastings | Anyone got unicode? U+224D | 01:34 | |
| purl print "\\U224D"; | |||
| purl | Austin_Hastings: excuse me? | ||
| Austin_Hastings | Which one is the p6 bot? | 01:35 | |
| Infinoid | rakudo: say "me me me, victim here" | ||
| polyglotbot | OUTPUT[me me me, victim hereā¤] | ||
| Austin_Hastings | rakudo: say "\\U224D" | ||
| polyglotbot | OUTPUT[U224Dā¤] | ||
| Austin_Hastings | Moo. No unicode for me. | 01:36 | |
| kurahaupo | rakudo say "\\u224D"; | ||
| Infinoid | is backslash uppercase U meaningful? | ||
| kurahaupo | rakudo: say "\\u224D" | ||
| Infinoid | rakudo: say 1 | 01:37 | |
| polyglotbot | OUTPUT[1ā¤] | ||
| Austin_Hastings | rakudo: say "\\x[224d]"; | ||
| polyglotbot | OUTPUT[Ć¢ā¤] | ||
| Austin_Hastings | Well, it's a start. | ||
| dalek | rrot: r39790 | whiteknight++ | branches/io_cleanups (4 files): [io_cleanups] move the functions from src/io/core.c into src/io/api.c, since they really were API functions. Separate Parrot_io_init into two separate functions because it was performing two completely separate actions at different times |
||
|
01:39
Austin joined,
Austin_Hastings left
|
|||
| Austin | rakudo: say "\\x[224d]"; | 01:39 | |
| polyglotbot | OUTPUT[Ć¢ā¤] | ||
| Austin | Still nothing. Rats. | ||
| Infinoid | What'd you expect? | 01:41 | |
| Austin | The "\\c{EQUIVALENT TO}" character. | ||
| Which looks like an equal sign made from )( | 01:42 | ||
| rakudo: say "\\c[NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE]"; | 01:43 | ||
| polyglotbot | OUTPUT[no ICU lib loadedā¤in Main (src/gen_setting.pm:3225)ā¤] | ||
| Austin | So much for plan C. | 01:44 | |
| Or was it D? | |||
| Infinoid | rakudo: say "whee, I support unicode! see look: ¹²³" | ||
| polyglotbot | OUTPUT[Malformed UTF-8 stringā¤ā¤current instr.: 'perl6;PCT;HLLCompiler;evalfiles' pc 304108 ((unknown file):-1)ā¤called from Sub 'perl6;PCT;HLLCompiler;evalfiles' pc 1292 (src/PCT/HLLCompiler.pir:704)ā¤called from Sub 'perl6;PCT;HLLCompiler;command_line' pc 1513 (src/PCT/HLLCompiler.pir:813)ā¤called | ||
| ..from Sub 'perl6;Perl6;Compiler;main' pc 274143 (sr... | |||
| dalek | rrot: r39791 | whiteknight++ | branches/io_cleanups (4 files): [io_cleanups] remove src/io/core.c, which was empty after the last commit. WARNING: I monkeyed with the makefile, so you'll probably have to make realclean and reconfigure after this. |
||
| Infinoid | ok. so the box it's built on doesn't have ICU, that limits our options | ||
| Austin | :| | 01:45 | |
| Infinoid | I'd suggest compiling it locally with all the right stuff | ||
| Austin | But the point is testing it in IRC... | 01:46 | |
| Whiteknight | and with that, I think I'm done for the night. Good evening, gentlemen | ||
| Austin | Good knight, white. | ||
| Infinoid | I'm crashing too, goodnight | ||
| Whiteknight | goodnight | ||
| Austin | Statement not terminated properly at line 1954, near "\\"'\\"\\n\\t\\t\\t~ $" | 01:47 | |
| Not to be confused with "hey, you missed a ~" | 01:48 | ||
| Rats! So close.. | 01:57 | ||
|
01:57
cotto joined
02:13
Andy joined
02:27
kid51 joined
|
|||
| kid51 | msg Whiteknight Command-line options: first add to @valid_options in lib/Parrot/Configure/Options/Conf/Shared.pm | 02:39 | |
| purl | Message for whiteknight stored. | ||
| kid51 | msg Whiteknight Then document functionality with POD in Configure.pl | ||
| purl | Message for whiteknight stored. | ||
| kid51 | msg Whiteknight Then determine which configuration step your option should be added to -- likely to require discussion | ||
| purl | Message for whiteknight stored. | ||
| kid51 | msg Whiteknight Once you've determined which step option goes into, write tests for that option in corresponding t/steps/*.t file | 02:40 | |
| purl | Message for whiteknight stored. | ||
| kid51 | msg Whiteknight Config step classes begin processing of an option with $conf->options->get('without-networking') | ||
| purl | Message for whiteknight stored. | ||
| kid51 | msg Whiteknight Tell me a bit more about what PARROT_NETWORKING_SUPPORT does and I may have fuller answers | ||
| purl | Message for whiteknight stored. | ||
| pmichaud | rakudo handles unicode okay -- it's just polyglotbot that is clueless | 02:53 | |
| 02:53 <pmichaud> rakudo: say "\\c[NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE]"; | |||
| 02:53 <p6eval> rakudo 6c43f9: OUTPUTĀ«āÆā¤Ā» | |||
| (from p6eval bot on freenode/#perl6) | 02:54 | ||
| dalek | rrot: r39792 | cotto++ | branches/pmc_pct/compilers/pmcc/src/nodes.pm: [pmcc] add a file I forgot to add earlier |
03:02 | |
| cotto | chromatic, ping | 03:07 | |
|
03:17
magnachef joined
03:22
Theory joined
03:27
cotto joined
|
|||
| GeJ | 'MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN' | 03:28 | |
| I wonder if someone, somewhere knows every one of those. | 03:29 | ||
| cotto | msg chromatic One further concern I have about profiling is that imcc sucks at giving meaningful line numbers in error messages. If that's where the information about the source code comes from, it's not going to be very helpful. | 03:31 | |
| purl | Message for chromatic stored. | ||
| dalek | rrot: r39793 | cotto++ | branches/pmc_pct/config/gen/makefiles/pmcc.in: [config] fix a Makefile oversight that was causing some mysterious failures |
03:40 | |
| cotto | yay! palindrome! | ||
| cotto | also, restoration of sanity | 03:41 | |
| dalek | rrot: r39794 | cotto++ | branches/pmc_pct/compilers/pmcc/src (3 files): [pmcc] switch back to using the stowed vtable dump, now that sanity has been restored |
03:47 | |
| jdv79 | is that summary from the workshop on the net yet? | 04:15 | |
| the one on the huge post-it | 04:16 | ||
|
04:17
tetragon joined
|
|||
| Austin | jdv79: It doesn't seem to be. | 04:37 | |
| I don't recall if Jerry or Patrick walked out with that one... | 04:38 | ||
| GeJ | cotto: I confess my total ignorance in pmcc, but while looking at your last commit, I read : | 04:40 | |
| in pmc/emitter.pm : self.past.vtdump -> self.past<vtdump> | |||
| and in nodes.pm : self.past.vtdump -> self<vtdump> | |||
| cotto | I don't know why nodes.pm is special like that, but it seems to work. | 04:41 | |
| GeJ | Ah, ok. good job then. Please feel free to ignore me :) | ||
| cotto | I switched to the bracket notation because I also stored the dump as a hash element of the past, avoiding the need to add yet another method and attribute. | 04:42 | |
| but I'm tired and it's quite possible that I'll look at my code in the morning with different eyes. | 04:43 | ||
|
04:44
Theory joined
04:45
Theory_ joined
|
|||
| jdv79 | pmichaud: do you have that massive post-it? | 05:01 | |
| dalek | rrot: r39795 | cotto++ | branches/pmc_pct/compilers/pmcc/src/nodes.pir: [pmcc] fail noisily when attempting to multiply inherit from two parents with ATTRs |
05:04 | |
| rrot: r39796 | cotto++ | branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm: [pmcc] clean up generated code a little, add a MULTI-related #define and function call that I previously missed |
05:11 | ||
|
05:37
Zak joined
|
|||
| dalek | tracwiki: v1 | cotto++ | RewritingPMCsInNQP | 05:42 | |
| tracwiki: first version, no examples yet | |||
| tracwiki: trac.parrot.org/parrot/wiki/Rewrit...ction=diff | |||
| chromatic | cotto, I expect we'll need to fix them up somewhat, but getting just the function names right is helpful. | 05:45 | |
| dalek | tracwiki: v3 | Austin_Hastings++ | LevelOne | 05:49 | |
| tracwiki: Added link to cotto's page | |||
| tracwiki: trac.parrot.org/parrot/wiki/LevelO...ction=diff | |||
| cotto | Don't edit the rewriting page yet. | 05:51 | |
| Austin | Not. Just linking | ||
| cotto | chromatic, do you think the timeline should include some imcc spelunking to try to get that fixed? | 05:52 | |
| Austin | It's your page until you make a mistake. ;-) xkcd.com/386/ | ||
| chromatic | I'm willing to try the IMCC spelunking, as long as we keep it on the low priority. | 05:53 | |
| cotto | lucky me | 06:00 | |
| ;) | |||
| ok | 06:01 | ||
| chromatic | wiki.squeak.org/squeak/2267 | ||
|
06:02
whoppix joined
|
|||
| Austin | Sure they've got bitInvert32, but notice they don't have `fact`. Losers. | 06:03 | |
| chromatic | ftp://ftp.create.ucsb.edu/pub/Smalltalk/Squeak/docs/OOPSLA.Squeak.html | 06:04 | |
| If all GCable stores go through a single L2 opcode, you know how easy it is to note generations? | 06:06 | ||
| That second paper is amazing. | 06:07 | ||
| Austin | > since a method invocation is much less efficient than a branch operation, this dispatch is one of the main reasons that the interpreter runs so much faster when translated to C) | 06:08 | |
| cotto is looking forward to getting home to reliable wireless | |||
| Imagine that; someone else has already had to solve this problem. How nice! | 06:10 | ||
| chromatic | Yeah, 13 years ago. | 06:11 | |
| slang has only 42 transformation rules. | |||
| All translated code accesses memory through six C macros that read and write individual bytes, 4-byte words, and 8-byte floats. | 06:12 | ||
| cotto | something about that number... | 06:13 | |
| beside the fact that it's surprisingly small | |||
| dalek | tracwiki: v2 | cotto++ | RewritingPMCsInNQP | 06:14 | |
| tracwiki: direct C function calls in nqp | |||
| tracwiki: trac.parrot.org/parrot/wiki/Rewrit...ction=diff | |||
| chromatic | "we have contemplated building a separate primitive compiler that supports polymorphic arithmetic, in which case the declaration-driven optimization techniques of Hurricane and Typed Smalltalk would be beneficial." | 06:15 | |
|
06:20
uniejo joined
06:32
cotto joined
|
|||
| cotto | we could call it btc - better than C | 06:47 | |
| I don't know how similar to nqp it's going to be by the time we're done with it. | |||
|
06:54
kurahaupo left
06:59
viklund joined
07:00
iblechbot joined
07:13
magnachef_ joined
|
|||
| dalek | tracwiki: v3 | cotto++ | RewritingPMCsInNQP | 07:21 | |
| tracwiki: add some example L1 code, although any relation to the implemented L1 is probably coincidental | |||
| tracwiki: trac.parrot.org/parrot/wiki/Rewrit...ction=diff | |||
| tracwiki: v4 | cotto++ | RewritingPMCsInNQP | 07:24 | ||
| tracwiki: add some comments | |||
| tracwiki: trac.parrot.org/parrot/wiki/Rewrit...ction=diff | |||
| tracwiki: v1 | cotto++ | ProposedParrotsketchProtocol | 07:56 | ||
| tracwiki: copypasta Whiteknight++'s message, plus formatting changes and my input | |||
| tracwiki: trac.parrot.org/parrot/wiki/Propos...ction=diff | |||
|
08:09
cotto joined
08:19
mvuets joined
08:22
mberends joined
|
|||
| dalek | rrot: r39797 | cotto++ | branches/pmc_pct (195 files): bring branch up-to-date with trunk |
08:37 | |
|
08:41
pjcj joined
|
|||
| mvuets | I got a crash (Rakudo). Is it possible to provoke a crash via PBC? In other words: where i need to look for a cause: in Parrot or in Rakudo? | 08:48 | |
| moritz | both are possible | 08:49 | |
| what does your crash look like? segmentation fault? | |||
| mvuets | I'm on Windows 2003 (@work). But, yes. It is alike segfault, memory access violation: paste.debian.net/40319/ | 08:52 | |
| Btw this crash is present since 0.9, iirc. I may take a look, just need to know how to build a debug version of Parrot under VS. | 08:53 | ||
| How both can be possible? Does not Parrot provide a safe PBC execution? | 08:57 | ||
| moritz | in theory, yes | ||
| purl | in practice: ASSCLOWNS | ||
| moritz | in practice, no | ||
| also rakudo has dynpmcs, which are just C code | 08:58 | ||
| mvuets | Oh, that's good. So these are just bugs, that's normal way (: | ||
| I see. Seems that some smoke tests were failed too. What is a way to check only Parrot w/o Rakudo? | |||
| moritz | build parrot from source, run 'make fulltest' | 08:59 | |
| or what do you mean? | |||
| mvuets | I want to run some parrot.exe something.{pasm,pbc,pir} and get a crash to localize a crash. | 09:01 | |
| moritz | that's not easy | ||
| mvuets | And then to debug it, probably. | ||
| moritz | you can make rakudo emit PIR | ||
| but that still uses the rakudo dynpmcs | |||
|
09:12
donaldh joined
|
|||
| mvuets | Is nqp some parrot language? | 09:12 | |
| moritz | aye | ||
| "not quite perl 6" | |||
| mvuets | OK, it also crashes. Does it say that it's parrot crash, not rakudo? | 09:14 | |
| moritz | aye | ||
| mvuets | abc crashes too. Need i to create a bug report? Is trac.parrot.org/parrot your BT? | 09:16 | |
| moritz | yes, and yes. | ||
| (and you need to create an account first :/ ) | 09:17 | ||
| mvuets | No problem (: Thank you. | ||
| Sorry for stupid questions. I'm pretty new to all this stuff. Just wanna become involved and help. So does exist any instructions how to build parrot under Windows and VS/mingw gcc? | 09:20 | ||
| moritz | there's a README_win32.pod in the source repo | 09:21 | |
| having abandoned windows years ago (before my Perl 6 involvement) I won't be able to help you, though | |||
| mvuets | Thanks. I'm GNU/Linux user, just have to work with Windows at work (: | 09:23 | |
|
10:16
bacek_ joined
10:25
mvuets left
10:33
mvuets joined
10:50
AndyA joined
|
|||
| Infinoid | msg Whiteknight So I've been thinking some more about I/O and how it pertains to win32. One of the problems we face is that files are of type HANDLE (a pointer type) and yet sockets are of type SOCKET (an integer type). Two results of this: 1, the API is completely different for sockets than it is for files, and thus subclassing Handle is useless. 2, Select works for sockets but not files on win32. Does win32 have AIO, and does it clean any of that | 10:50 | |
| purl | Message for whiteknight stored. | ||
| moritz | truncated after "clean and of that" | 10:51 | |
| Infinoid | moritz: thanks | 10:52 | |
| msg Whiteknight Does win32 have AIO, and does it clean any of that up? If so, I'm thinking maybe the result would be better if we wrapped the basic ops on top of AIO | |||
| purl | Message for whiteknight stored. | ||
| Infinoid starts dreaming about AIO on circular receive buffers, and reusing COW strings for the recv() method | 10:56 | ||
| dalek | TT #791 created by mvuets++: Crash on PBC execution under Windows Server 2003 | 11:05 | |
|
11:17
flexibeast joined
11:22
donaldh joined
11:24
riffraff joined
11:28
flh joined
|
|||
| flh | the test: "like('This is Parrot', 'This is Parrot', 'some reason')" should pass (it currently doesn't), or am I missing something? | 11:31 | |
| moritz | what language are you talking about? | 11:33 | |
| Perl 5 and Test::More? | |||
| flh | good point :) this is PIR with Test/More.pbc | ||
| moritz | well, if the second argument is interpreted as a Perl 6 regexes, then no. | 11:34 | |
| because whitespaces are ignored | |||
| flh | ok, so I found my solution : ' ' becoming <ws> does the trick | 11:35 | |
| thanks | |||
| moritz | maybe ':s This is Parrot' also works | 11:37 | |
| that would be nicer, visually | |||
| flh | this also works, yes, and it is indeed better | 11:38 | |
|
11:43
burmas joined
11:57
magnachef joined
12:11
masak joined
12:17
mvuets left
12:20
mvuets joined
12:23
Whiteknight joined
|
|||
| mvuets | How Parrot JIT mechanism works? Does it translate PBC to native instructions and place them to RAM, then execute directly from RAM? | 12:29 | |
|
12:38
skids joined
12:44
chromatic joined
|
|||
| chromatic | mvuets, more or less yes. | 13:00 | |
| mvuets | chromatic, oh, thanks. Now i know a cause of my crash on Windows. Just have reported it to Trac. | 13:01 | |
| Whiteknight | Parrot's JIT works by taking the parrot bytecode, feeding it through some very complicated functions, and then segfaulting | ||
| mvuets | (: that's it. | 13:02 | |
| chromatic | mvuets, any chance you can build a Parrot with debugging symbols? Your backtrace doesn't have them and is difficult to diagnose without them. | ||
| mvuets | chromatic, i'm trying to do it right now. | 13:03 | |
| Also see my comment to #791. | |||
| chromatic | Did you pass any command-line flags? Parrot doesn't JIT by default. | 13:04 | |
| mvuets | No. Just "parrot file.pbc". Same as in the ticket description. | 13:05 | |
| chromatic | It could be the code that builds NCI thunks. DEP is suspicious. | 13:06 | |
| mvuets | DEP just introduces some protection. It is enabled by default on Windows Server OSes. What is NCI? | 13:08 | |
| chromatic | NCI is the system that allows us to call external functions from shared libraries. | 13:09 | |
| pmichaud | good morning, #parrot | 13:15 | |
| TimToady | morning, fancy meeting you here | 13:16 | |
| Whiteknight | good morning pmichaud | 13:18 | |
| mvuets: The NCI system would only run afoul of DEP if you are building an unsupported callframe | 13:20 | ||
| otherwise it should have precompiled thunks in the code section already, which should be fine | 13:21 | ||
| chromatic | Unless it built with CAN_BUILD_CALL_FRAMES or whatever that is. | ||
| mvuets | chromatic, you said parrot doesn't JIT by default, so how it acts? | ||
| chromatic | I'm making a distinction between JIT as optimization and JIT as mechanism to call shared libraries from Parrot. | 13:22 | |
| mvuets | Just got parrot compiled, enabling DEP back and reboots... | ||
| Whiteknight | if you're just calling the readline_interactive method, you shouldn't be activating JIT at all | 13:23 | |
| so that's particularly suspect | |||
| chromatic | It's so difficult to debug Partcl when it refuses to build without an installed Parrot. | 13:32 | |
| mvuets | Well, my compiled version just does not work. It silentlly finishes. Was built via VS. (Some problems with gcc, don't wanna sort out.) | 13:34 | |
| chromatic | pmichaud, any suggestions on helping PGE deal with repeated zero-length captures? | 13:37 | |
| pmichaud | not at the moment, alas | 13:39 | |
| PGE needs to keep track of a ratchet point and refuse to repeat more than once at that point | |||
| it's the "more than once" part that gets tricky :-| | |||
|
13:40
Andy joined
|
|||
| chromatic | Is there a way to detect a zero-length capture? | 13:40 | |
| pmichaud | in pge, not easily | 13:41 | |
| and of course, it's not *captures* that are the issue, but any grouping/repeating construct | |||
| chromatic | In other words, "Fail if you're trying to repeat without ratcheting forward"? | 13:42 | |
| pmichaud | but repeating once is allowed | ||
| well, not repeating once, but matching once | |||
| so the tricky part is detecting that it's actually a repeat | 13:43 | ||
| chromatic | And you can't merely store the position of the previous match and fail if the current position matches that because a zero-width could match there legitimately. | ||
| moritz | the perl 5 regex engine also keeps track min/max match lenghts of regex atoms at compile time, and warns if you quantify something that's always zero-width | 13:44 | |
| chromatic | The likelihood of me fixing this in the next 30 minutes is low then. | 13:46 | |
|
13:48
Axle joined
|
|||
| Coke | chromatic: I appreciate that you're trying to debug partcl. =-) | 13:50 | |
| chromatic | I'd be happy to. It's just a real trial to do so when I can only build/run it with an installed Parrot. | ||
| Coke | chromatic: when I'm working on partcl, I have a script to clean/svn up/config/build/install-dev parrot, which reduces my effort there. (I just install to $HOME/bird and have that be my "testing" install location. | 13:51 | |
| (beats installing to a system dir) | |||
| Axle | would anyone mind taking a look at this code and telling me what's wrong? | ||
| pastebin.com/d55456e6b | |||
| chromatic | Sure, but if I'm rebuilding Parrot it's tremendously more work to rebuild and reinstall Parrot for a one-line change. | 13:52 | |
| dalek | rrot: r39798 | chromatic++ | trunk/compilers/imcc (2 files): [IMCC] Fixed a memory leak of PASM sub names. |
||
| Coke | You should just be able to run "make install-dev" instead of make, no? | ||
| Axle: there's no need to take the ".param int a" and then say $I0 = a. | 13:53 | ||
| Axle: you can just refer to a later. | |||
| Axle | Coke: ok, what's the error at the bottom about? | 13:54 | |
| Coke | Axle: bug in the calling conventions, I think. | ||
| Axle | Coke: hmm... Hard to write a test suite for a code generator when the code generated should work but doesn't... thank you though | 13:56 | |
| Coke | axle: if you could open a ticket for that, it would be helpful. | ||
| chromatic: (I've tried building against a build-dir parrot. Parrot makes it hard to support both styles, or I'd do it.) | |||
| Axle | Coke: can you point me in the right direction, i.e. link? | 13:57 | |
| Coke | trac.parrot.org/ | ||
| parrotbug? | |||
| purl | well, parrotbug is obsolete, use trac | ||
| Coke | no, parrotbug is obsolete, use trac.parrot.org/ | ||
| purl | okay, Coke. | ||
| Coke | thanks, axle. | 13:58 | |
| chromatic | Coke, I know. It's just something to work toward, I suppose. | ||
| Axle | Any particular conventions in filing the ticket I should be aware about/ | 14:00 | |
| ? | |||
| pmichaud | time for me to head out (vacation) -- I should be off-and-on for the next few days though | ||
| thanks to everyone at yapc|10 -- it was great fun! | |||
| dalek | rrot: r39799 | chromatic++ | trunk/compilers/imcc (2 files): [IMCC] Fixed a memory leak of the name of a file included with .include. |
14:03 | |
|
14:05
snarkyboojum joined
|
|||
| dalek | rrot: r39800 | rblasch++ | trunk/src/string/charset/unicode.c: Use C89 variable declarations, or it won't compile on C89 compilers like VC9. |
14:14 | |
| rrot: r39801 | rblasch++ | trunk (2 files): [config] Quote ICU include path if it contains spaces. |
|||
|
14:16
Axle left
|
|||
| dalek | TT #792 created by Axle++: Bug in subroutine calling conventions | 14:17 | |
|
14:17
Theory joined
|
|||
| Coke | chromatic: here's the current leak test for tcl.pbc -e "puts hi" | 14:19 | |
| feather.perl6.nl/~coke/puts_hi_loss.vgp | |||
| (The large leak is plugged. several small leaks remain, some of which look suspiciously similar.) | 14:20 | ||
|
14:29
NotFound joined
14:36
NotFound joined
|
|||
| chromatic | Is that with 39799 or close? | 14:44 | |
|
14:52
mvuets left
|
|||
| Whiteknight | irclogs? | 15:09 | |
| purl | irclogs is, like, irclog.perlgeek.de/parrot/today or see also: infrared clogs | ||
| moritz | infrared clogs? | 15:10 | |
| purl | infrared clogs are like ruby slippers, but more so | ||
|
15:19
sekimura_ joined
15:20
donaldh joined
15:23
Theory joined
15:28
chromatic joined
|
|||
| japhb | purl, msg pmichaud Re: TT #787, I don't care so much the details of how it works, I just want it to work. :-) I took Coke's suggestion at face value, but if you have a better one, great. Let's just *do* it. Even if it's not a perfect solution, we can always iterate towards correctness if we mark all our changes as experimental. | 15:42 | |
| purl | Message for pmichaud stored. | ||
| Whiteknight | purl msg kid51 PARROT_NETWORKING_SUPPORT is a macro that tells whether we have sockets (1) or not (0). If we compile without PARROT_NETWORKING_SUPPORT, Parrot will throw exceptions if we try to use sockets. What I want is for this macro to be 1 if no argument is given, and to be 0 if --without-networking is given | ||
| purl | Message for kid51 stored. | ||
| Whiteknight | purl msg kid51 we can add tests and probes later, but right now I just want a flag that changes the macro | 15:44 | |
| purl | Message for kid51 stored. | ||
| Whiteknight | purl msg Infinoid on win32 sockets are HANDLEs too. There are utilities to poll them for IO events. Win32 has AIO (I think it's actually better supported then on Linux!). I'd be happy to talk to you more about any AIO ideas you have | 15:46 | |
| purl | Message for infinoid stored. | ||
| Whiteknight | it's nice signing on and having a few messages waiting for you :) | 15:54 | |
| japhb | Whiteknight: Like getting snail mail (the unexpected, non-bill type) | 15:56 | |
| Whiteknight | yeah, i never get any non-bill snail mail | 16:00 | |
| moritz | I received one yesterday saying that my health insurance got cheaper. YaY! | 16:02 | |
| Coke | Whiteknight: if you want to change the flag, use the already builtin flag for setting c flags. no? | 16:03 | |
| --ccflags=-DPARROT_NETWORKING_SUPPORT=1 ? | |||
| if you want the default to be the otherway, reverse the sense of the conditional in the check. | |||
|
16:04
davidfetter joined
16:06
Austin joined
|
|||
| Austin_Hastings | foo | 16:07 | |
| purl | bar | ||
| Austin | moo | ||
| Coke | moink | 16:08 | |
| Austin | Hello, coke. | 16:16 | |
|
16:16
jan joined
|
|||
| Austin | Feeling any more on top of the L1 thing from last night? | 16:16 | |
|
16:18
Theory joined
|
|||
| Coke | Austin: have given it no more thought since yesterday, sorry. | 16:21 | |
| Austin | No worries. | 16:25 | |
|
16:40
st joined
16:45
Psyche^ joined
|
|||
| Coke wonders why pugs doesn't have a trunk/ | 16:48 | ||
| moritz | because it has no branches either | ||
| audreyt used to do branches locally with svk | 16:49 | ||
|
17:03
gbacon joined
17:04
gbacon left
17:06
darbelo joined
|
|||
| flh | is there a bug which tracks the translation of tests from perl to PIR? | 17:06 | |
| Austin | flh: huh? | 17:08 | |
| You mean the implementation of the p6 spectests? | |||
| moritz | Austin: no, parrot tests | ||
| (I think) | 17:09 | ||
| Coke | flh: I don't think there's a ticket, no. | ||
| it's just a general cleanup item. | |||
| flh | Whiteknight says that we want Parrot's test written in perl5 to be directly translated to PIR, so I was looking for a TT to attach a patch | ||
| Austin | Ahh. | ||
| moritz | flh: just open a new one | ||
| Whiteknight | yeah, open a new one | ||
| (I thoguth there was a ticket somewhere though) | |||
| moritz | but it's easier to have one ticket per patch anyway | 17:10 | |
| so that you can apply/close or reject per patch, not just per issue | |||
| flh | ok, I'll do that after dinner :) | ||
| Whiteknight, could it be on RT? I haven't searched there yet | 17:11 | ||
| Whiteknight | oh, I hadn't thought that | ||
| I'll look on RT | |||
|
17:11
bobke joined
|
|||
| Whiteknight | flh: moritz is right, just open a new ticket | 17:11 | |
| Coke | even if there is an old RT for it, putting patches on trac is just ducky. | 17:12 | |
| patches++ | |||
| Austin | FWIW, NQP needs = | 17:17 | |
| moritz | why? | 17:18 | |
| Austin | I reached the point where I need copy more than bind. | 17:19 | |
| (To the tune of 3 hours last night chasing an alias bug...) | |||
| Or perhaps PCT just needs to use more immutables.. | |||
| Whiteknight | I've wished NQP had = on more then one occasion | 17:20 | |
| Coke | if you can call vtables, isn't 'assign_pmc' sufficient? | 17:22 | |
| (not that sugar is bad.) | 17:23 | ||
| Austin | Can we call vtables from NQP? | ||
| Whiteknight | Austin, you can't call VTABLEs directly | 17:26 | |
| you can probably use inline PIR to call the opcodes that call the VTABLEs though | 17:27 | ||
| Coke | Austin: I've seen the vtable call in cotto's (apparently NQ)NQP pmc rewrite. | 17:29 | |
| Austin | So I can replace my @nsp := clone_array($symbol.namespace()) code with Q:PIR { $P0 = find_lex '@nsp' ; $P1 = find_lex '$symbol' ; $P2 = $P1.'namespace'() ; $P0.'assign_pmc'($P2) } | 17:30 | |
| Whiteknight | yeah, that's a feature that's going to need to be added to support writing PMCs | ||
| Austin | That sort of rocks. | ||
| Not. | |||
| must ... have ... sugar ... | 17:33 | ||
|
17:36
viklund joined
|
|||
| Austin | Class 'P6metaclass' not found | 17:46 | |
| W00t! | |||
| Close does objects. | |||
| Whiteknight | Austin++ | 17:47 | |
| I can haz? | |||
| Austin | I need a place to put it (suggestions?), and I need to fix that error. Probably tomorrow. | 17:48 | |
| Whiteknight | I've enjoyed google code for these kinds of projects | 17:49 | |
| Austin | Do they have trac, or sth like it? | ||
| Looks that way | 17:51 | ||
| Coke | Austin: I presume your NQP work here isn't related to the L1 work? | 17:52 | |
| Austin | I'm not doing anything NQP related, Coke, other than using it for action methods. | ||
| I'm working on a parser for a C-like language, Close. | |||
| Whiteknight | it's not trac, but yes they have svn, a wiki, and an issue tracker | 17:53 | |
| I used google code for Matrixy, my octave-on-parrot compiler | 17:56 | ||
| and Coke uses it for parTcl | |||
| Austin | Looks cool. I'll have to give it a shot. | 17:58 | |
|
17:58
JC1 joined
|
|||
| Austin | (And now I'll have to take google.com off my "permanent distrust" list for noscript. Sigh.) | 17:58 | |
| Anybody better at graphics than me? | 18:11 | ||
| Whiteknight | what kinds of graphics? | 18:12 | |
| and how good are you? | |||
| Austin | Creating an icon for close. | ||
| Whiteknight | oh, no. can't help with that | 18:13 | |
| Coke | Austin: I suggest a laundry basket. (clothes) | 18:20 | |
| Austin | :) | 18:27 | |
| Actually, I'm using "\\c[LATIN CAPITAL LETTER C, EQUIVALENT TO]" kerned really tightly together, in white against a blue circle | |||
| Tene | Austin: did you have some HLL questions for me a few days ago? | 18:30 | |
| Austin | Tene: I was looking for your cross-hll foo. | ||
| Tene | Are you still looking for anything? | 18:31 | |
| Austin | Yeah | ||
| I have the impression that you've built a little bit of foo for each language. But is there some kind of overarching protocol? | |||
| Tene | There is. | ||
| I should add it to the repository, but I don't know where I should put it. | 18:32 | ||
| Austin | Trac? | ||
| purl | Trac is a web-based software project management and bug/issue tracking system emphasizing ease of use and low ceremony. It provides an interface to the Subversion revision control systems, integrated Wiki and convenient report facilities. projects.edgewall.com/trac/ or Python, SQLite and ClearSilver or killing killtrac or a bug-tracking tool or at trac.parrot.org/parrot/ or slow or REALLY slow | ||
| Tene | Um, sure. Choose a name for a page there, and I'll post it there. | ||
| Whiteknight | HLLInteroperability | ||
| Austin | HllInteroperability (WikiWord) | 18:33 | |
| Coke | wikiword-- | ||
| Tene | WikiWord-- | ||
| Austin | Maybe under the BigProjects page | ||
| Tene | HllInterop? | 18:34 | |
| Austin | Go for it | ||
| Tene | Man, trivial decisions shouldn't be difficult like this. :P | ||
| the llI in there is awkward. | 18:35 | ||
| Austin | Yeah, but you only have to type it once. After that, it's mouseclicks | 18:36 | |
| Tene | I need to swap in wiki markup now, I guess. | 18:37 | |
|
18:38
mberends joined
|
|||
| moritz | do you have it as POD right now? | 18:39 | |
| if so, just dump it in docs/ somehwere | |||
| Coke | we need a trac plugin that uses POD instead of wiki. | 18:40 | |
| Austin | WhiteKnight: code.google.com/p/close | ||
| Coke: It's pretty trivial to import pod into wiki, but there's no exporter. (pod2wiki moinmoin) | 18:41 | ||
|
18:41
athomason joined
|
|||
| Coke | moinmoin? | 18:41 | |
| purl | well, moinmoin is easier | ||
| moritz | a perl 5 wiki engine iirc | 18:42 | |
| Austin | It's the wiki syntax that both google code and trac base their syntaxes on | ||
| Tene | I don't have it as POD. | ||
| Austin | What do you have it as? | ||
| Tene | Well, maybe. I don't remember. | ||
| Austin | Put {{{ }}} around it and upload it. | 18:43 | |
| Tene | Um, I don't know. Let me look around. I don't remember if or where I saved it anywhere. | ||
| Austin | Last thing I saw was a blog post from you that linked to a NoPaste that had expired. | ||
| Tene | ah | ||
| Just text. | |||
| Yes, I need to stop using nopastes in blog posts. | 18:44 | ||
| moritz: should I be adding this to docs/ instead of trac? If so, what filename? | |||
| moritz | docs/hll_interop.pod maybe? | 18:45 | |
| Tene | We already have a PDD of that name. Is 'library loading API' part of the PDD? Should it be? | 18:46 | |
| moritz | I'd add it | ||
| Tene | I thought I could use {{{ }}} around something to make it monospace-formatted? | 18:49 | |
| Austin | Exactly. | ||
| Tene | It doesn't work. | ||
| purl | It's a Y2K error! Panic! Sue! | ||
| Coke | you're doing it wrong. =-) | ||
| Tene | :( | ||
| Whiteknight | Austin++ | 18:50 | |
| Tene | Coke: fix it: trac.parrot.org/parrot/wiki/HllInteroperability | ||
|
18:50
cotto joined
|
|||
| Austin | Tene++ | 18:51 | |
| cotto | yay! home! | ||
| Tene | PCT really needs to get a default implementation of that. | ||
| moritz | fixed | ||
| Tene: you need {{{\\n ... \\n}}} | 18:52 | ||
| Tene | ... but the docs don't say that ;_; | ||
| wikis are so confusing | |||
| dalek | tracwiki: v1 | tene++ | HllInteroperability | ||
| tracwiki: trac.parrot.org/parrot/wiki/HllInt...ction=diff | |||
| Tene | Austin: what else would you like me to put on that page? | ||
| dalek | tracwiki: v2 | moritz++ | HllInteroperability | ||
| tracwiki: trac.parrot.org/parrot/wiki/HllInt...ction=diff | 18:53 | ||
| Whiteknight | Infinoid: ping | ||
| Austin | Anything you know w.r.t how to call from one place to another. (Or a link to another page) | 18:55 | |
| Tene | call from one place to another? I don't understand the question. | ||
| Austin | I'm in HLL A, and I want to call a sub in HLL B. | ||
| Defined in another file, yadda yadda. | 18:56 | ||
| Running on another interpreter, on a computer orbiting a different sun... | |||
| Whiteknight | well, you definitely need to look the function up in the HLL namespace | ||
| Tene | Whiteknight: better is asking the B compiler to load the library for you, and get the sub from the return value of that. | 18:57 | |
| Austin | You see? | ||
| Maybe a walkthrough of what the Rakudo module does? | 18:58 | ||
| dalek | tracwiki: v3 | tene++ | HllInteroperability | 18:59 | |
| tracwiki: Add examples. | |||
| tracwiki: trac.parrot.org/parrot/wiki/HllInt...ction=diff | |||
| Tene | Austin: refresh the page | 19:00 | |
| kinda like that? | |||
| dalek | tracwiki: v4 | tene++ | HllInteroperability | 19:03 | |
| tracwiki: Add a usage example | |||
| tracwiki: trac.parrot.org/parrot/wiki/HllInt...ction=diff | |||
| Austin | What's 'load-language' ? | 19:04 | |
| Tene | A sub that just calls the 'load_language' opcode from the 'parrot' HLL. | ||
| To work around a Parrot bug | |||
| Austin | Okay... | ||
| Whiteknight | Tene: does that bug have a ticket? | 19:05 | |
| Austin | So in order to call across HLLs, you need a sub that can call across HLLs? | ||
| :) :) :) | |||
| purl | :) :) :) :) :) :) :) :) :) | ||
| Tene | Whiteknight: I'm not sure. I think so. | ||
| Austin: no. | |||
| you just do: | |||
| .HLL 'parrot | 19:06 | ||
| .sub ... | |||
| .HLL 'whatever' | |||
| then just call it by name. | |||
| I guess I could add that to the 'parrot' compiler as a method... | |||
| dalek | tracwiki: v5 | tene++ | HllInteroperability | 19:07 | |
| tracwiki: Add a comment | |||
| tracwiki: trac.parrot.org/parrot/wiki/HllInt...ction=diff | |||
| tracwiki: v6 | tene++ | HllInteroperability | |||
| tracwiki: Wiki Markup | |||
| purl | Wiki Markup is probably oddly like POD. | ||
| dalek | tracwiki: trac.parrot.org/parrot/wiki/HllInt...ction=diff | ||
| Tene | but you'd have to load_language the 'parrot' compiler first, which would actually work in that case because the 'parrot' compiler doesn't loadlib anything. | ||
|
19:07
JC1 left
|
|||
| Tene | Rakudo and Cardinal and Steme just use the .HLL 'parrot' \\n ... .HLL 'perl6' trick | 19:09 | |
| Austin | Shouldn't that be an interpreter method? | ||
| Anyway, the code looks good, Tene. Thanks. | 19:10 | ||
| Tene | Um, I guess it could be. | 19:11 | |
| It's just a wrapper around an opcode to work around a bug. | |||
| Austin: what else would you like there? | |||
| Austin | Is there any corresponding logic for symbol import? | 19:12 | |
| Tene | hm? Explain? | 19:13 | |
| That 'foreign_load' sub imports things into the namespace of the caller. | 19:14 | ||
| Austin | Wait, nevermind. It's in there. | ||
| Yeah. | |||
| dalek | tracwiki: v7 | tene++ | HllInteroperability | ||
| tracwiki: Add more to the usage example | |||
| tracwiki: trac.parrot.org/parrot/wiki/HllInt...ction=diff | |||
| Austin | It doesn't care about subs vs PMCs or whatever | ||
| Coke | tene: since you're all up on the importing and what not, question for you: =-) | ||
| tcl procs remember where they were imported from, and you can "forget" the import of subs. Does this system allow for that? | 19:15 | ||
| Austin | Coke: What does 'import' mean in your question? From a library file, or from another language? | ||
| Tene | Coke: This system just returns a hash to whoever asked for it. The HLL that requested the library can do whatever they like with it. | 19:16 | |
| Coke | Austin: from another namespace. | ||
| Austin | From /tcl/NamespaceA/foo -> /tcl/NamespaceB/bar? | ||
| dalek | tracwiki: v4 | whiteknight++ | BigProjectIdeas | 19:17 | |
| tracwiki: trac.parrot.org/parrot/wiki/BigPro...ction=diff | |||
| Austin | Or inside a single function? | ||
| Coke | namespace ::NamespaceA::bar eval { namespace import ::NamespaceB::bar } | ||
| er, one of those is a foo. | |||
| www.tcl.tk/man/tcl8.5/TclCmd/namespace.htm#M14 | 19:18 | ||
| Whiteknight | Austin: you going to upload the close source code? | ||
| Coke | the [namespace origin] just below that is how you can determine where the import came from. | 19:19 | |
| dalek | cnum-dynpmcs: r91 | darbelo++ | trunk/src/pmc/decnumcontext.pmc: Correct a very silly typo. |
||
| Coke | I don't think parrot supports that yet; going to just add an attribute to TclProc to track it. | 19:20 | |
| Whiteknight | there are no silly typos, just silly coders | ||
| Tene | Coke: foreign subs aren't going to be tclprocs, unless you have a way of changing their class... | ||
| Coke | tene; well, I need to support it for tcl standalone first. | 19:21 | |
| Tene | Coke: you could put a dictionary on the namespace instead. | ||
| Coke | but yes, having parrot support this feature would be nice. | ||
| Tene | track it there | ||
| darbelo | Whiteknight: But it wasn't me! It was the typo! I swaer it! | ||
| Tene | TclNamespace, that is | ||
| Coke | Tene: then I have to update the namespace all the time instead of the proc itself; also, then other HLLs that use different namespace objects will foil /that/ scheme. | 19:22 | |
| Austin | Okay, is anyone else using Ubuntu? | ||
| Whiteknight | me | ||
| Coke | so, internally, it's not a win; externally, it's just as much a lose. | ||
| Tene | Austin: I have some Ubuntu install CDs at my office... | ||
| Austin | If you type cat /etc/motd | tail +2 | ||
| what do you get? | |||
| Tene | Coke: True. | ||
| Coke | ... the last 2 lines of the message of the day? | ||
| Tene | Coke: +2 | ||
| purl | 2 | ||
| Whiteknight | oh, I'm not on Ubuntu right now, my home computer is Ubuntu | ||
| Tene | Coke: All lines after line 2 | ||
| Coke | whoops. | 19:23 | |
| yah. that's not an ubuntu thing, though. | |||
| Tene | I think he's asking for ubuntu's default motd? | ||
| Coke | (works the same on darwin, e.g.) | ||
| Austin | Well, I kind of hope it is | ||
| Because I don't want to come out and say "someone has introduced a massive bug into tail" | |||
| Tene | Austin: what do you mean? | 19:24 | |
| Austin | I'd much rather discover that my distro shipped with some clever shell script wrapper or something | ||
| Coke | Austin: what are you seeing, what do you expect to see? | ||
| Austin | austin@andLinux:~/parrot/languages/google-close$ cat /etc/motd | /usr/bin/tail +2 | ||
| Tene | pls nopaste instead of paste into channel | 19:25 | |
| Austin | (If you see an "Unknown command", I didn't put it there.) | ||
| Tene | Austin: the unknown command was your IRC client | ||
| Austin | Okay. | ||
| Tene | you pasted something like: | ||
| Coke | presumably you had a line that started with slash. use nopaste.snit.ch | ||
| Tene | /usr/bin/tail: Unknown Command | ||
| Austin | :) | ||
| Tene | or the 'nopaste' script in the parrot repo | 19:26 | |
| Austin | AAR, if someone here is on linux, could you try that? | ||
| Tene | /usr/bin/tail: cannot open `+2' for reading: No such file or directory | ||
| which is according to its documentation | 19:27 | ||
| you want tail -n +2 | |||
| Austin | Well, no I don't. | ||
| Tene | The following shell function has been very useful to me: | ||
| Austin | But I will. | ||
| Tene | nopaste() { perl ~/src/parrot/tools/dev/nopaste.pl -t "$1" -c '#parrot' -n tene $2 | ||
| } | |||
| Austin: what are you trying to do here? | 19:28 | ||
| Austin | Trying to skip the first line of input. | ||
| It's just that apparently tail has drifted a little bit. That used to work. | |||
| Tene | you could also: | sed 1d | ||
| Coke | darwin's tail seems to let the -n go. neener. | ||
| Tene | that's what I'd recommend | 19:29 | |
| Austin | Yeah. Back in the last millenium tail -3 / tail +3 worked. | ||
|
19:29
magnachef_ joined
|
|||
| dalek | tracwiki: v5 | whiteknight++ | BigProjectIdeas | 19:32 | |
| tracwiki: trac.parrot.org/parrot/wiki/BigPro...ction=diff | |||
| Coke | anyone looking for a medium-complexity PIR only task? =-) | 19:44 | |
| PerlJam | Coke: I'm not looking, but what's the task? | 19:45 | |
| Coke | converting tcl to "execute as soon as you have a command" instead of "compile the entire program first" | ||
| probably a simple matter of updating how the pge->past->pir transformation occurs. | 19:46 | ||
| (once you have a command, immediately run the generated PIR and substitute the return value into the stream) (instead of accumulating PIR) | |||
| Austin | Are you using PCT? | ||
| (I think the answer is no, but...) | |||
| Coke | yes, the answer is no. | ||
| Austin | :( | 19:47 | |
| Coke | converting to PCT is on my "nice to have". | ||
| Austin | 'coz that's built in | ||
| Coke | ORLY? | ||
| purl | YA RLY. | ||
| PerlJam | Austin: so ... you're volunteering to convert partcl to use PCT? :) | ||
| Austin | How hard would that be? As I recall, tcl has a tremendously regular syntax... | ||
| Coke | it's pretty straightforward, yes. | ||
| Austin | (But again, that was 1000 years ago) | ||
| Coke | tcl has had one syntax change in the past 15 years that I know about. | 19:48 | |
| the {*} expander. | |||
| Austin | What does that mean in tcl? | ||
| Coke | "expand the list that follows that token" | 19:49 | |
| so "puts hello" and "{*}{puts hello}" are equivalent. | |||
| my grammar is at: code.google.com/p/partcl/source/bro...ression.pg | 19:50 | ||
| the {*} is documented here: www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm#M9 | |||
| japhb | Tene: Looking at trac.parrot.org/parrot/wiki/HllInteroperability , I'm guessing the block of code starting at import_loop_end: is the code that creates namespace ['rakudo';'OpenGL'] when I 'use OpenGL:from<parrot>;' ? | 19:52 | |
| Austin | I ask because PCT uses {*} in patterns as a "call action method" marker | ||
| Coke | Austin: yup, completely different. =-) | 19:53 | |
| Tene | japhb: That code is taken from cardinal, actually, but yes, approximately the same in Rakudo | ||
| japhb: also very important is src/parser/actions.pm:425 | |||
| Austin | WhiteKnight: ping | 19:54 | |
| japhb | Tene: Assuming yes, if I have a parrot module OpenGL/Math.pir that contains several namespaces ([...;'OpenGL';'Math'], [...;'OpenGL';'Math';'Vec4'], [...;'OpenGL';'Math';'Mat4x4'] and so on) I assume we're going to have to change that so instead of a single namespace, I can supply a list? | ||
| (src/parser/actions.pm:425) In Rakudo or Cardinal? | 19:55 | ||
| Tene | japhb: rakudo | ||
| japhb | Looking .... | ||
|
19:55
magnachef__ joined
|
|||
| Tene | That's what lets you use just straight 'OpenGL' instead of '::OpenGL' | 19:55 | |
| Austin | msg WhiteKnight I've imported the current close codebase into google. It DOES NOT pass the test suite -- the oo stuff is still not working, and it's time for beer -- but you can make test and get almost there. :) | 19:56 | |
| purl | Message for whiteknight stored. | ||
| Tene | Austin: link? | ||
| Austin: and can you add 'tene@allalone.org' as a contributer? | |||
| darbelo | close is at code.google.com/p/close/ | ||
| Coke | close is also code.google.com/p/close/ | 19:57 | |
| purl | okay, Coke. | ||
| Coke | scooby snack. | ||
| purl | Rank roo, Coke! | ||
| Austin | Tene: If I did that, you might sully my precious code... | ||
| :) | |||
| Yeah | |||
| code.google.com/p/close/source/checkout | |||
| Tene | Austin: Oh, I thought that you were asking for someone to get the OO stuff working for you. | 19:58 | |
| I misread. | |||
| japhb | Tene: You don't have to solve everyone's problems. Just mine. ;-) | ||
| Austin | laugh | ||
| japhb | So what does '$/.add_type($name)' actually do? | 19:59 | |
| japhb is not a PAST expert ... in fact, his PAST fu is passing at best. | |||
|
19:59
mikehh joined
|
|||
| Tene | japhb: it calls the 'add_type' method of Perl6::Grammar. Check out src/parser/methods.pir:20 | 20:00 | |
| It informs the parser that that symbol is a class, not a function call. | |||
| davidfetter wonders whether there's a PAST sifu for japhb | |||
| Tene | sifu? | 20:01 | |
| purl | sifu is, like, master, since there can be other teachers less senior to the sifu | ||
| Tene | thx purl | ||
| japhb | People with more understanding of Japanese than I: What is the difference between sensei, sifu, and shihan? | ||
| davidfetter | sifu is chinese | ||
| sensei is "teacher" | 20:02 | ||
| shihan these days is mostly hubris | |||
| japhb | heh | ||
| davidfetter | it's like calling yourself "champ" or "ultimate" | ||
| you'd better be able to back that up | |||
| japhb | In Aikido (the art I study), I understand that Shihan is granted only to senseis of international renown. | 20:03 | |
| davidfetter | which aikido? | ||
| japhb | I'm in the ASU branch. | ||
| davidfetter | um | ||
| japhb | I think it has two Shihans. | 20:04 | |
| davidfetter | tbh, shihan is a term so politically loaded that i leave it out of other kinds of discussion | ||
| i.e. it's only handy in discussing power struggles | 20:05 | ||
| japhb | Politically loaded? | ||
| hmmm, interesting. | |||
| IIUC, several Aikido Shihans have refused further rank advancement, saying it was no longer necessary. Never seemed like a big power trip kinda thing. But then, Aikido is very fractured, so maybe when there's a power struggle, they just fork. I dunno, I'm not much of a historian. | 20:06 | ||
| Tene: OK, I've read the add_type code. There's some generous assumption of conventions in that code ... but OK. I'm not entirely clear on whether that method is going to cause problems for my idea of changing the handling of library['namespace'] so we can transfer multiple namespaces. | 20:17 | ||
| Tene | japhb: um... library['namespace'] contains the subnamespaces | 20:18 | |
| japhb | Seems like the simplest thing is to changes it to library['namespaces'] (plural) and make it an array. | ||
| Tene: OK, then I'm clearly handling something wrong. | |||
| Tene | japhb: summarize the issue again for me? :) | 20:19 | |
| Wait, let me summarize what I understand. | 20:20 | ||
| japhb | Tene: sorry, answering face to face question. I'll backscroll in just a sec | ||
| Tene | You're defining a subnamespace, OpenGL::Math::Vec4 | ||
| but you can't use it from rakudo | |||
| japhb | Yes | ||
| Tene | 1) I suspect that ::OpenGL::Math::Vec4 will work | ||
| japhb | (after 'use OpenGL::Math:from<parrot>;' | ||
| Tene | (pls test) | ||
| japhb | Will do | 20:21 | |
| Tene | 'sec | ||
| 2) Rakudo's parser for names that don't begin with a '::' doesn't look at namespaces at all. It looks at its own internal list of symbols. | 20:23 | ||
| so the hack of adding a call to .'add_type'() just registers exactly the name we passed to 'use' | |||
| It's not completely correct. | 20:24 | ||
| I'm not entirely sure what the "right" answer is. | |||
| japhb | Wheee, trying to do ::OpenGL::Math::Vec4.new causes Null PMC access in getprop() | 20:25 | |
| Austin | Hmm | ||
| Tene | but, for now, we could crawl around in the namespace looking for new namespaces to register. | ||
| Huh. | |||
| Okay, I'll look into it. | |||
| Austin | Do classes have to addmethod subs that are in their namespace with the :method adv? | ||
| dalek | rrot: r39802 | jkeenan++ | trunk/config/gen/crypto.pm: Add call to Parrot::Configure::Compiler::cc_clean() to clean up test files run as part of config step. |
20:26 | |
| japhb | Tene: also, you seem to be assuming that all namespaces a module creates will be subspaces. But that's not necessarily the case. A Net:: module might define a URI:: namespace, for example. Though perhaps that's considered rude and we desire to disallow it by convention. | 20:27 | |
| Tene | japhb: is the Vec4 stuff in Parrot right now? | 20:36 | |
| Or have you not committed it yet? | |||
| japhb | bak | 20:39 | |
| Tene: OpenGL/Math.pir is in svn | 20:40 | ||
| Lemme check on the test file | |||
| OK, examples/opengl/math.pir is, but the (currently misnamed) shapes-vec3.p6 is not. | 20:41 | ||
| dalek | TT #793 created by flh++: Rewrite io.t and ifunless.t in PIR | ||
| Tene | Okay, that's good enough for me for now. | ||
| japhb | It's not really ready to be committed ... ok, good. | ||
| Note: OpenGL/Math.pir is in a fairly "youthful" state. | 20:42 | ||
| Right now I'm at the "Am I on the right track?" stage | |||
| Coke | vfr_re01 | 20:49 | |
| ww | |||
| japhb | Now I'm curious. What does 'vfr_re01' do in the *right* window? | 20:54 | |
| Coke | ... nothing. =-) | ||
| was documenting something. | |||
|
21:06
particle1 joined
21:08
ArjenL joined
21:12
iblechbot joined
21:14
Whiteknight joined
|
|||
| flh | t/oo/metamodel.t starts with "#!./parrot" while other tests start with "#!parrot": is it an error, or noone cares about that? | 21:21 | |
|
21:23
Limbic_Region joined
|
|||
| allison | flh: it should be consistent | 21:24 | |
| flh | is it worth opening a ticket for that, or will someone with commit bits remember that? :) | 21:26 | |
| Whiteknight | flh++ | ||
| (i'm applying your io.t and ifunless.t patches right now) | |||
| japhb | allison: Luckily caught you. Can you take a look at why I can't subscribe to parrot-dev (I never receive the confirmation mail). I ask you, because you're listed as the ML admin. :-) I'll be happy to reenter my address in the form if you need to watch the mail logs ... | 21:27 | |
| allison | japhb: what email address? | ||
| purl | email address is obscure (just a few) | ||
| dalek | rrot: r39803 | duff++ | trunk/t/oo/metamodel.t: fix #! line as noticed by flh |
21:28 | |
| Whiteknight | purl msg infinoid when you get a chance, could you add Close to dalek? code.google.com/p/close Thanks! | 21:29 | |
| purl | Message for infinoid stored. | ||
| flh | Whiteknight, do you have an idea on how tests like arithmetics.t, which rely a lot on "say", should be translated to PIR? | ||
| Whiteknight | I don't know, I would have to look at it | 21:30 | |
| PIR does have a say opcode | 21:31 | ||
| flh | ok, maybe just a wrong example (in the case of arithmetics.t, we can just convert numbers to strings and compare strings) | 21:32 | |
| dalek | rrot: r39804 | whiteknight++ | trunk/t/op (2 files): [t] convert io.t and ifunless.t from Perl5 to PIR. Courtesy flh++. TT #793 |
||
| Whiteknight | yeah, that's probably the easiest | 21:33 | |
| dalek | TT #793 closed by whiteknight++: Rewrite io.t and ifunless.t in PIR | ||
| Whiteknight | all this blogging is having a good effect it seems | 21:34 | |
| my adsense account is up to 0.03$! | |||
| flh | maybe my question can be rephrased in this way: am I right to say that the "say.t" file, which tests the "say" opcode, must rely on perl5? | ||
| Whiteknight | flh | ||
| flh: that's a very good question | |||
| actually, no. You can use say to generate the TAP output directly | 21:35 | ||
| so "say 'ok 1'" | |||
| flh | so we can test that "say" correctly prints strings, but what about integers/floats? | 21:36 | |
| Whiteknight | print "ok " \\n say $I0 | 21:41 | |
| print "ok " \\n say $N0 | |||
| (of course, you can't do fractions) | |||
| or, "say" to a filehandle, and then read the value from the file in and compare strings | |||
| allison | say only does stdout | 21:42 | |
| Whiteknight | oh right, damnit | 21:44 | |
| Coke | you can still redirect where stdout is going. | 21:45 | |
| I would make converting those tests a low priority. =-) | |||
| mberends | should freeze() be able to serialize bytecode produced by Rakudo? It segfaults here. | 21:46 | |
| Whiteknight | I'm about to merge in the io_cleanups branch which contains proper pipes, so we can use those to test say | ||
| Infinoid is still working out the gritty details about how to use them to properly redirect stdio though, so we all have some learning to do with them | 21:47 | ||
| mberends: it *should* be able to do that I think, but the freeze/thaw system isn't very robust in my experience | 21:50 | ||
| mberends | yes, that's the impression it give me too. it works on compiled PIR code tho. | 21:51 | |
|
21:52
Theory joined
21:53
particle joined
|
|||
| Whiteknight has to go look at houses. later | 21:53 | ||
|
21:55
snarkyboojum joined
22:33
contingencyplan joined
22:34
rg1 joined
22:42
flh joined
|
|||
| Infinoid | ... there are gritty details? | 22:44 | |
| we add dup() and dup2() methods, and pipe-to-command stuff uses those internally | 22:45 | ||
| stage 3: profit | |||
| msg Whiteknight If you add Close to trac.parrot.org/parrot/wiki/Languages, dalek should update itself automatically within a few hours. :) | 22:46 | ||
| purl | Message for whiteknight stored. | ||
| Infinoid | The above dup2 stuff aside, I actually have no idea what the PDD says about stdio redirections. I do know that parrot's current behavior of overriding handles on the PIR layer and not on the stdio layer is rather misleading | 22:48 | |
| But I think we've already had that discussion. | |||
|
23:26
tetragon joined
23:29
skids joined
23:45
patspam joined
|
|||