Camelia, the Perl 6 bug

IRC log for #parrot, 2008-09-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 AndyA joined #parrot
00:12 pjcj joined #parrot
00:25 bacek joined #parrot
00:31 bacek_ joined #parrot
00:34 cotto_home it's an interesting exercise to try to write blindingly obvious code
01:16 dalek r31243 | Whiteknight++ | trunk:
01:16 dalek : [Book] Added some more information about protofunctions. Also some stub sections on NQP syntax, Match objects, Inline PIR, and PAST nodes.
01:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31243
01:32 dalek r31244 | Whiteknight++ | trunk:
01:32 dalek : [Book] small update and expansion of the first section of the PASM chapter, trying to show why knowing PASM is still relevant.
01:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31244
01:37 dalek r31245 | Whiteknight++ | trunk:
01:37 dalek : [Book] Add a new 9th chapter stub on HLLs and interoperation (possibly precompiled libraries too). move the reference to chapter 10.
01:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31245
01:41 kid51 joined #parrot
01:59 Tene ENOPURL :(
02:02 Whiteknight ENEEDCOOKIES
02:03 Tene I have cookies.
02:03 Tene You have purl?
02:03 Whiteknight ENOTRADE :)
02:04 Whiteknight no, I dont know where purl went. somebody mentioned feather was struggling tonight
02:04 Tene polyglotbot: hi
02:05 Tene perl6: say $purl
02:05 polyglotbot OUTPUT[Scope not found for PAST::Var '$purl'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤called from Sub 'parrot;PAST::Compiler;post_children' pc 1743 (src/PAST/Compiler.pir:367)␤called from Sub 'parrot;PAST::Compiler;call' pc 3158
02:05 polyglotbot ..(src/PAST/Compiler.pir:839)␤called from Sub 'parrot;PAST::Compiler;post_ch...
02:16 s1n pmichaud: ping
02:22 dalek r31246 | Whiteknight++ | trunk:
02:22 dalek : [Book] Write a little bit about HLLs and interoperation.
02:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31246
02:23 Whiteknight and that that, I'm off to bed. Goodnight
02:24 Ontolog joined #parrot
02:57 dalek r31247 | tene++ | trunk:
02:57 dalek : [cardinal]
02:57 dalek : Allow access to subs in a single level of namespace.
02:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31247
03:02 Tene NotFound: try now.
03:40 Theory joined #parrot
03:44 dalek r31248 | tene++ | trunk:
03:44 dalek : [cardinal]
03:44 dalek : Set :load and :init on modules.
03:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31248
03:47 Ontolog joined #parrot
03:50 isop joined #parrot
03:51 Tene Hmm... still doesn't work...
04:04 apeiron joined #parrot
04:08 Tene Oh, right, case-sensitive stuff.
04:44 Tene Hah!  xlibtest.rb!
04:44 Tene Now who are you calling lame?
04:44 dalek r31249 | tene++ | trunk:
04:44 dalek : [cardinal]
04:44 dalek : * Fix parsing of calling functions in a namespace.
04:44 dalek : * Fix && and ||
04:44 dalek : * Add xlibtest.rb
04:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31249
04:46 cjfields joined #parrot
04:54 tetragon joined #parrot
05:02 cjfields Ontolog: (in case you read the backlog) .match still has a few problems (still returning Str, see RT#57094; will likely require some work with PGE).  I also agree with pmichaud, .'ACCEPTS' should be defined in terms of .match (this has come up previously I think).
05:03 purl joined #parrot
05:04 purl joined #parrot
05:07 purl joined #parrot
05:09 Theory joined #parrot
05:15 Ademan joined #parrot
05:34 johbar joined #parrot
05:35 johbar hi
05:43 Tene hi
05:43 cotto_home hai
05:52 contingencyplan joined #parrot
06:03 uniejo joined #parrot
07:05 cognominal joined #parrot
07:13 iblechbot joined #parrot
07:18 nopaste "Ontolog" at 59.37.36.178 pasted "Moved Str.split(Str) to any-str.pir" (82 lines) at http://nopaste.snit.ch/14117
07:35 dalek r31250 | moritz++ | trunk:
07:35 dalek : [rakudo] move Str.split(Str) to any-str.pir, Ontolog++
07:35 dalek : Now Str.split(/regex/) works because the method is no longer masked.
07:35 dalek : I still don't understand why it fails with :multi(_,'String') though
07:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31250
07:44 dalek r31251 | cotto++ | trunk:
07:44 dalek : [imcc] rewrite the "too many args" test to generate params
07:44 dalek : This is much kinder to text editors and easier to modify.
07:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31251
07:46 cotto_work joined #parrot
07:56 cotto_home now nobody's impressed by my small hadron collider
07:56 dalek r31252 | cotto++ | trunk:
07:56 dalek : [imcc] my attempt at making this code blindingly obvious
07:56 dalek : also avoid a Shlemiel the Painter algorithm, which speeds up PIR subs with lots
07:56 dalek : of args without meaningfully slowing down the average case
07:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31252
08:34 Ademan joined #parrot
08:36 dalek r31253 | kjs++ | trunk:
08:36 dalek : [pirc/new] simplify code and calculate branch offsets
08:36 dalek : + refactoring of some data structures, removing a layer of indirection
08:36 dalek : + each instruction now has an offset within a sub; branches to sub-)local labels are now calculated.
08:36 dalek : + small refinement in the parser to do this cleanly.
08:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31253
08:51 dalek r31254 | cotto++ | trunk:
08:51 dalek : [imcc] "correct" is also a laudable goal
08:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31254
09:03 isop pmichaud: ping
09:16 Ontolog joined #parrot
09:35 cotto_home joined #parrot
09:41 masak joined #parrot
10:18 bacek_ joined #parrot
10:48 kid51 joined #parrot
10:56 Whiteknight joined #parrot
11:01 Ontolog joined #parrot
11:02 Debolaz joined #parrot
11:05 dalek r31255 | moritz++ | trunk:
11:05 dalek : updated MANIFEST
11:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31255
11:07 isop moritz: could you maybe take a look at my patches for pynie?
11:09 moritz isop: URL?
11:09 isop moritz: https://bugs.launchpad.net/pynie/+bugs
11:14 dalek r31256 | moritz++ | trunk:
11:14 dalek : [pynie] various fixes by isop++
11:14 dalek : * fixes not_test to use the correct 'not' pirop signature
11:14 dalek : * fixes to previous patches:
11:14 dalek : #271874 - mark the test for **= as todo
11:14 dalek : #271889 - also mention launchpad in MAINTAINER
11:14 dalek : * add tests for and/not/or
11:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31256
11:14 dalek r31257 | moritz++ | trunk:
11:14 dalek : [cage] fix svn meta data
11:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31257
11:19 dalek r31258 | moritz++ | trunk:
11:19 dalek : [pynie] build system fixes by isop++
11:19 dalek : * splits the make for pynie.pbc to depend on gen_grammar.pir and gen_actions.pir, so that they don't have to get rebuilt every time
11:19 dalek : * adds funcs.pir to the dependencies in the makefile
11:19 dalek : * .include's funcs.pir in pynie.pir
11:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31258
11:20 cognominal are METHODs in pmcs what the docs call PCCMETHODs?
11:26 dalek r31259 | moritz++ | trunk:
11:26 dalek : [pynie] fix infix and and or ops, patch courtesy by isop++
11:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31259
11:31 dalek r31260 | moritz++ | trunk:
11:31 dalek : [pynie] simple try/except implementation by isop++
11:31 dalek : implements a try/except block where the except block accepts no params, and some tests for try/except/raise/assert
11:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31260
11:33 isop moritz: it seems you missed t/00-parrot/11-boolop.t in the first one
11:33 isop (new file)
11:33 moritz isop: will commit now
11:33 isop moritz: :)
11:34 dalek r31261 | moritz++ | trunk:
11:34 dalek : [cage] make codetest happier
11:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31261
11:34 moritz it's just a freakin' effort to add files, because you have to regen MANIFEST and change svn props and all
11:36 moritz isop: I have to do other things now... if I forget to apply the remaining patch(es?), feel free to bug me again
11:36 isop ok thanks
11:36 dalek r31262 | moritz++ | trunk:
11:36 dalek : [pynie] add a test file that I previously forgot, isop++
11:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31262
12:07 kj joined #parrot
12:08 ruoso joined #parrot
12:14 iblechbot joined #parrot
12:29 isop how do I recycle the result of an inline PAST::Op?
12:30 isop I mean reuse without actually running the op again
12:32 pmichaud there's not a really good way to do it yet, but it will be done with PAST::Var(:scope('register'))
12:34 pmichaud basically,   $result := PAST::Var( :scope('register'), :viviself( $past ) );
12:34 pmichaud and then $result can be re-used within the same blcok
12:34 pmichaud *block
12:35 isop will that work now?
12:35 pmichaud not entirely
12:35 pmichaud what does work now is to do
12:35 pmichaud PAST::Var( :name('somename'), :scope('register'), :viviself($past) );
12:36 pmichaud and then whenever you want to refer to that register again, simply create a new  PAST::Var( :name('somename'), :scope('register') )   node (with no viviself)
12:36 pmichaud at least I think that works
12:37 pmichaud I need to check on it a bit
12:39 isop joined #parrot
12:40 isop pmichaud: back. will that work now?
12:40 pmichaud isop: I don't completely know.
12:40 isop ok
12:40 pmichaud there's some work to be done in the parrot compiler tools to make that work
12:40 pmichaud (the first example)
12:40 pmichaud the second one might work, but might not
12:40 pmichaud :scope('register') is still a bit new.
12:41 pmichaud in the past when we've needed to re-use a result we've just created a temporary lexical to hold the result in, and re-used that.
12:44 pmichaud (but I didn't like doing that, which is one reason why we've created :scope('register')
12:47 isop hrm
12:47 isop it seems you can get a syntax error from nested scopes in pynie
12:48 Zaba joined #parrot
12:49 dalek r31263 | pmichaud++ | trunk:
12:49 dalek : [rakudo]: spectest-progress.csv update: 166 files, 3399 passing tests
12:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31263
12:50 isop like this: http://rafb.net/p/TAGWBQ75.html
12:51 pmichaud perhaps... I haven't played with pynie in almost a year and several other people have been patching it (and one of those may have broken nested scopes)
12:51 isop how do I debug it?
12:54 pmichaud I'd start by doing --target=parse to check the parse tree
12:54 isop that throws a syntax error exception, too
12:54 pmichaud but it must have something to do with the INDENT and DEDENT not working properly
12:54 isop ok
12:55 kj isop: you can also use print/say to check out what code is executed
12:55 dmknopp left #parrot
12:55 pmichaud I'm also curious if it's just 'if' that has the problem or if it's there for other nested structures
12:55 isop pmichaud: I got it after trying to make a test with try and for
12:55 isop pmichaud: so i guess it's for any structure
12:55 pmichaud yes, that points to a DEDENT or INDENT problem then
12:57 moritz isop: in the next pynie patch please add yourself to CREDITS (in the mail parrot dir)
12:58 isop ok
13:01 dalek r31264 | moritz++ | trunk:
13:01 dalek : [pynie] implement attributeref and method calls, patch courtesy by isop++
13:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31264
13:01 pmichaud isop:  are you interested in getting a commit bit to work on pynie?
13:02 isop pmichaud: not yet, but I probably will be :)
13:02 pmichaud okay.
13:02 pmichaud currently committers to the parrot repo have to submit a "contributor license agreement" (cla) in order to get a commit bit
13:03 pmichaud so if you're interested, we might want to work on that :-)
13:03 pmichaud either that or pynie could perhaps move to its own repo (that could then have its own requirements)
13:28 isop pmichaud: I'd probably prefer the latter
13:33 ruoso joined #parrot
14:00 NotFound Tene: I'm pleased to see cardinal is now able to use Xlib :)
14:01 NotFound But It has a problem parsing the comments at first lines of xlibtest.rb
14:01 NotFound Syntax error at line 4, near "# current "
14:02 gryphon joined #parrot
14:05 Lorn joined #parrot
14:06 pmichaud RT #59064 should be easy for someone to do.  :-)
14:07 Ontolog .namespace['ns'] is in effect until the next .namespace?
14:07 moritz yes
14:07 moritz RT-- # mangling whitespaces in the web interface
14:12 Ontolog using Patrick R. Michaud's suggestion I moved that split function to any-str.pir and it seems to compile and i'm running spectest_regression now
14:12 Ontolog if its all good i'll send a patch
14:13 moritz great
14:14 isop pmichaud: I think I've figured out what's wrong
14:14 isop pmichaud: with the nested scopes
14:14 isop the inner if_stmt's 'suite' matches up to the newline after the block
14:15 isop but if_stmt (which is a rule, not a token) matches the additional 2 spaces, too
14:15 isop so it's like there's no indent there
14:18 pmichaud checking.
14:20 pmichaud which 2 additional spaces?
14:20 isop after the newline after the inner block
14:21 pmichaud except that the <ws> rule is redefined to not match newlines
14:21 isop if_stmt should be ignoring them and they should be matched by indent_same instead
14:22 jhorwitz joined #parrot
14:23 pmichaud but yes, you're correct that it's grabbing the two extra spaces.
14:24 pmichaud oh, wait, perhaps not.
14:25 pmichaud okay, I think that's indeed the problem.
14:27 nopaste "Ontolog" at 116.25.156.143 pasted "Could not find non-existent sub split" (93 lines) at http://nopaste.snit.ch/14121
14:28 Ontolog pmichaud: what is the biff? you can see the definition of split, why is it 'non-existent' ??
14:29 pmichaud isop:  part of the issue is that <suite> is eating the newline
14:29 pmichaud so, perhaps we need to make sure that <ws> doesn't match whitespace at the beginning of a line.
14:30 pmichaud try changing the ws token to be
14:30 pmichaud token ws { ^^ || \h* [ '#' \N* ]? }
14:31 pmichaud Ontolog: looking
14:32 Ontolog the test I ran is: say split(/\d+/, "ab1cd12ef123gh").perl;
14:32 pmichaud oh, my fault.
14:32 pmichaud .namespace []      instead of    .namespace ['']
14:33 Ontolog k, there is a difference??
14:33 pmichaud yes.   .namespace []    is the global namespace, while .namespace ['']   is the namespace named "" within that namespace
14:33 pmichaud or something like that.
14:34 gryphon joined #parrot
14:35 Ontolog i see, so an absence of a value there is special, and '' is the namespace called empty string
14:35 pmichaud correct.
14:38 particle ayep. confusing?
14:38 particle we used to support .namespace
14:38 isop|afk pmichaud: that breaks... syntax_error on line 1 now
14:38 particle but that's been deprecated iirc
14:39 particle omg there's a cat on isop's keyboard while he's away!
14:39 pmichaud try
14:40 pmichaud token ws { ^^ <.fail> || \h* [ '#' \N* ]? }
14:42 isop|afk particle: a smart one
14:42 purl a smart one is the girl at the counter who is going to community college
14:43 particle purl, forget a smart one
14:43 purl particle: I forgot smart one
14:43 isop|afk joined #parrot
15:11 pmichaud joined #parrot
15:12 hercynium joined #parrot
15:19 Theory joined #parrot
15:47 peepsalot joined #parrot
15:55 dalek r31265 | moritz++ | trunk:
15:55 dalek : [rakudo] move split() as a function to any-str.pir, Ontolog++
15:55 dalek : Patch courtesy by Chris Davaz
15:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31265
15:56 pmichaud moritz++  ##  quickly applying patches
16:17 iblechbot joined #parrot
16:25 cognominal http://rt.perl.org/rt3/Tic​ket/Display.html?id=57776 # an apparently innocent patch seems to trigger a memory bug
16:27 NotFound cognominal: i think is not a memory bug, is a symptom of lack of checking and stat abuse.
16:28 cognominal I am investigating
16:29 cognominal I don't know the IO code
16:29 NotFound Several parrot functions use stat to check if can open a file, and then open it without further checkeing.
16:30 cognominal well, the original problem is that there was not even a stat done before opening a file
16:31 NotFound And it must no do. The correct and simple way of knowing if a file can be opened is to open it and check the result.
16:32 cognominal well, when the file is a directory, it opens without error but bad errors happen after
16:32 NotFound You can do a stat after and using the handle, not the file name.
16:33 cognominal indeed, that would be least costly
16:33 cognominal thx, I will modify my patch
16:35 cognominal I still don't understand the crash though
16:35 NotFound cognominal: The original of the ticket, or the patched?
16:36 cognominal the patched
16:37 cognominal I don't see a problem with my patch except bein suboptimal
16:38 NotFound cognominal: I think is one of the many places when the fact that empty strings can have no buffer assigned is no taken into account.
16:38 jonathan Also, if you stat something, then open it under the assumptions of the result from the stat, rather than stating the handle you have after getting it, I guess there is the possibility of a race condition.
16:38 cognominal indeed
16:39 NotFound And the argument is not marked as maybe null but can be null.
16:40 NotFound I vote for completely drop the __attribute__nonnull__ nonsense.
16:41 NotFound Or not race. You can have permissions to open the file but not to read his attributes.
16:46 dalek r31266 | allison++ | pdd27mmd:
16:46 dalek : [pdd27mmd] Shift scalar PMC's 'floor_divide' over to a multi, so it doesn't
16:46 dalek : mask the default multiple dispatch.
16:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31266
16:47 cognominal I realize I don't do enough C programming
16:48 NotFound cognominal: sorry, I was too rude
16:48 cognominal you were not :)
16:49 cognominal I am honored to rub elbows with greater programmers
16:50 NotFound Anyway these are posix thingies, not C language ones.
17:04 cognominal I realize that parrot is not 64 bits clean
17:05 NotFound cognominal: yes, there are several unresolved tickets about 64 bit plaforms.
17:05 cognominal anyway my mac is 32 bits...
17:06 cognominal my linux box is 64 bits but I think my mandrive is 32 bits
17:07 NotFound I don't have any 64 machine at hand, except a Commodore-64 emulator ;)
17:07 cognominal :)
17:08 cognominal i don't use much my linux box. I got stuck on mac lock-in.
17:12 NotFound I use Linux almost exclusively from some time ago.
17:13 cognominal one thing nice about leopard is dtrace... if only I knew how to use it.
17:13 mberends joined #parrot
17:13 NotFound I use Windows just to watch TV with a TDT USB card in my portable :D
17:14 NotFound Too lazy to search for an adequete linux driver.
17:22 dalek r31267 | julianalbo++ | trunk:
17:22 dalek : add more functions to Xlib example module and NCI signatures needed
17:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31267
17:30 cognominal does Perl 6 handles context?  The next problem with slurp is that it returns only one line in array context
17:33 cognominal jomathan?
17:33 cognominal jonathan?
17:33 purl i guess jonathan is mailto:jnthn@jnthn.net or trying to put together a grant application.
17:33 jonathan cognominal: hi
17:34 jonathan we don't have a way to do wantarray style stuff yet, no
17:34 cognominal ok
17:34 jonathan so yes, slurp behaviour will be wrong for arrays at the moment. :-(
17:35 cognominal anyway, if ma patch is otherwise correct, that one more test that passes on slurp.t
17:35 cognominal s/ma/my/
17:40 pmichaud we don't need wantarray for slurp
17:41 cognominal but that's what slurp.t tests
17:41 pmichaud or, at least, we *shouldn't* need wantarray for slurp :-|
17:41 cognominal my @slurped_lines = slurp "README";
17:41 cognominal ok +@slurped_lines > 50, "more than 50 lines in README file ?";
17:42 cognominal ha, you mean setting explictely the context?
17:42 pmichaud I'm simply saying that most places where wantarray is used in P5 isn't necessary in P6.
17:42 pmichaud and slurp is (or should be) one of them
17:43 pmichaud in this case, the result of slurp is evaluated in list context, so slurp knows to return a list.
17:43 pmichaud because of its .list method, most likely.
17:43 cognominal but is there a way for slurp to know the context used when  it is called?
17:43 pmichaud yes, but my point is that it doesn't need to know that.
17:44 pmichaud or, stated differently, there's one method when it's used in list context, and a different method when it's used in item context
17:44 pmichaud gotta run for a bit -- bbl
17:47 dalek r31268 | coke++ | trunk:
17:47 dalek : [tcl] escape test descriptions so TODO works on tests with # in their desc.
17:47 dalek : http://code.google.com/p/p​artcl/issues/detail?id=61
17:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31268
17:51 cognominal that's probably what the contextualizer_name handle in actions.pm
17:51 cognominal s/handle/handles/
17:52 cognominal bbl
17:58 jonathan pmichaud: When you're back, would like to know more on that... :-)
17:58 dalek r31269 | coke++ | trunk:
17:58 dalek : [tcl] make test more tolerant of extra env variables by only testing the three we set.
17:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31269
18:01 vhold joined #parrot
18:03 cognominal arf, I should have closed the file :(
18:08 Tene CLAs are sent to chromatic, yes?
18:08 dalek r31270 | coke++ | trunk:
18:08 dalek : [tcl] simplify call to code.emit() - remove unused parameter.
18:08 dalek : whitespace fixup
18:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31270
18:09 particle sent to a po box chromatic checks
18:10 Tene Okay.  dmknopp is eager to start committing.
18:17 cjfields joined #parrot
18:24 Lorn joined #parrot
18:33 Lorn joined #parrot
18:34 pmichaud back
18:37 NotFound Tene: ping
18:42 Tene NotFound: pong
18:42 NotFound Tene: cardinal fails to parse the comments in xlibtest.rb
18:43 Tene are you sure?  It worked fine for me last night.
18:43 Tene You're right.
18:44 Tene Well, the problem isn't with the comments.
18:44 NotFound I checked several times, and other people also.
18:44 Tene It fails later on and unwinds back to the comments and that's where the failure is reported from, I think
18:45 Tene ... but it runs fine if I remove them?
18:45 Tene Weird.
18:45 NotFound Strange, yes.
18:46 NotFound Well, less than fine, it breaks when drawing a second line, tells something about a Coroutine,
18:47 Tene Huh.
18:49 Tene Okay, I fixed that problem.
18:51 Tene Okay, lemme commit a version with fewer comments and that doesn't fail on later lines.
18:59 Zaba joined #parrot
19:00 Whiteknight joined #parrot
19:14 sjansen joined #parrot
19:24 NotFound Your worse nightmare is coming....
19:24 PacoLinux :)
19:24 dalek r31271 | julianalbo++ | trunk:
19:24 dalek : add pirric, a rudimentary old style basic interpreter and an example bas program to examples/pir
19:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31271
19:24 pmichaud aiiiiieeeeeee!
19:27 cotto_work +1
19:27 purl 1
19:27 cotto_work no, +1 is <reply>
19:27 purl okay, cotto_work.
19:28 cotto_work +1
19:28 purl 1
19:28 cotto_work meh
19:32 Lorn_ joined #parrot
19:33 cotto_work NotFound, there's a typo in xlibtest.rb in the command given to run the file.
19:33 cotto_work also, it doesn't like your comments
19:33 cotto_work Syntax error at line 4, near "# current "
19:33 NotFound cotto_work: tene is working on it.
19:34 cotto_work ok
19:34 NotFound She wrote it, by the way.
19:35 cotto_work you mean Tene?
19:36 dalek r31272 | tene++ | trunk:
19:36 dalek : Fix problems with xlibtest.rb
19:36 dalek : NotFound++
19:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31272
19:38 NotFound Talking about that...
19:39 cotto_work Tene++
19:42 NotFound <provocation>Is faster than the p6 version</provocation>
19:42 * cotto_work tests
19:43 Tene What's faster than the p6 version?
19:43 particle the cardinal version is faster probably because the rakudo parser is larger
19:44 NotFound Tene: the rb version
19:44 Tene It parses faster?  No it doesn't.  The cardinal parser is insanely slow.
19:44 cotto_work the p6 version wins on my machine
19:44 NotFound Redraw lines faster.
19:44 Tene Ah.
19:44 Tene How do you tell it to redraw lines?
19:44 NotFound Hide and show the window
19:47 NotFound This is the start of an era of benchmarking language wars X-)
19:49 cotto_work interesting
19:49 cotto_work I hope Parrot doesn't end up being a VM that runs all dynamic languages slowly.
19:50 cotto_work of course, making it run always comes before making it run efficiently
19:51 NotFound Is difficult to evaluate the speed of something tnat does not run, certainly.
19:53 NotFound More provocation: Now we have pir, nqp, perl6 and ruby. Who wants to be the next? Python? Lua? Tcl?...
19:53 cotto_work too bad Pipp isn't ready
20:00 Tene I was thinking of working on pynie
20:00 Tene But I need to do exceptions first.
20:09 bacek_ joined #parrot
20:11 * particle wonders how long a usb cable can be
20:13 jonathan particle: about 5 meters, I think.
20:13 dalek r31273 | tene++ | trunk:
20:13 dalek : [cardinal]
20:13 dalek : * Fix parsing of comments
20:13 dalek : * Add comments to xlibtest.rb
20:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31273
20:14 Tene If anyone's looking for something to do, it might be nice to make fakecutables for the other languages.
20:14 particle ok, then i might need another powered hub
20:14 NotFound Tene++
20:14 Tene I might get around to making one for cardinal sometime.
20:14 Tene Maybe we want a bin/ directory in parrot's root for that?
20:14 * particle is considering the purchase of a save with a usb port for a 2.5" hdd
20:14 particle *safe
20:14 Tene particle: interesting idea
20:14 purl well, interesting idea is to put two of the bots in the same channel, from different game servers
20:15 Tene purl: forget interesting idea
20:15 purl Tene: I forgot interesting idea
20:15 jonathan Can you imagine two purl's...
20:15 Tene We've had that before, iirc
20:15 Tene purl and purl_
20:15 purl Tene: sorry...
20:15 jonathan ...can you imagine a native English speaker using apostrophes correctly...
20:16 particle rakudo: say "purl".WHAT
20:16 polyglotbot OUTPUT[Str␤]
20:17 NotFound jonathan: or at least knowing his name, and not saying "single quotes" X-)
20:21 PacoLinux Tene: I make pbc's executables in linux with -- cd /proc/sys/fs/binfmt_misc; echo ':parrot:E::pbc::/home/paco/parrot/parrot:' > register -- ; then I copy the pbc (chmod +x) to somewhere with path, and I can use this language in my machine
20:21 Tene PacoLinux: that's not what I'm talking about.
20:22 particle it's useful, but not portable
20:22 PacoLinux yes, not portable, but useful for lazy people :)
20:23 NotFound If somenone is looking for an easy task: write an operating system with parrot X-)
20:28 Whiteknight joined #parrot
20:29 cjfields joined #parrot
20:30 dalek r31274 | particle++ | trunk:
20:30 dalek : [cardinal] add make target for fakecutable
20:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31274
20:31 particle that's a good template for <your language here>
20:31 particle what other langs need that?
20:31 Tene particle: do we also want a main makefile target, like the one for 'make perl6' in root?
20:33 particle i'm not sure. so far, perl6 has been a special case in that it's in the root makefile
20:33 Tene particle: also, lolcode, obviously. ;)
20:33 Tene unless I already did that.
20:33 Tene Oh, I think I did.
20:33 Tene nm
20:34 Tene particle: E_BACKWARDS_SLASH
20:34 particle just noticed, thanks
20:34 Tene I don't know the issues of slashes and portability.
20:34 Tene Does / work on every OS?
20:35 NotFound I want a fakexecutable for the whitespace language called " "
20:35 Tene I also need to add the sutff for --target=pir to be executable.
20:35 particle configure processes slashies for your os
20:35 Tene Ah.
20:35 Tene Nice configure.  configure++
20:36 dalek r31275 | particle++ | trunk:
20:36 dalek : [cardinal] fix slashie typo
20:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31275
20:37 Infinoid NotFound: great idea
20:37 Infinoid is triple ' ' the yada operator?
20:37 Infinoid % ./\  -e '   '
20:37 Infinoid Not implemented yet at -e line 1.
20:37 particle ...
20:38 particle rakudo: sub foo() { ... }
20:38 polyglotbot RESULT[{ ... }]
20:38 particle rakudo: sub foo() { ... }; foo()
20:38 polyglotbot RESULT[undef]
20:38 jonathan Yup, ... is done.
20:38 jonathan ??? and !!! aren't, due to parsing issues.
20:39 particle shouldn't ... give an error at runtime?
20:39 moritz I NEED HAZ LTM
20:39 jonathan No
20:39 particle warning?
20:39 moritz particle: it should fail()
20:39 jonathan not unless you has use fatal
20:39 jonathan !!! dies, ??? warns.
20:39 NotFound Infinoid: will be great to read the troff source for a manual page of that
20:40 Infinoid if you can figure out exactly how many backslashes are necessary to get man to read it :)
20:44 dalek r31276 | particle++ | trunk:
20:44 dalek : [lolcode] flesh out fakecutable targets
20:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31276
20:48 TimToady note that the yada's are listops, not bare terms
20:49 cjfields are ??? and !!! waiting for LTM?
20:49 cjfields s/waiting/holding/
20:50 particle cjfields: yes
20:50 cjfields k
20:52 dalek r31277 | particle++ | trunk:
20:52 dalek : [cardinal] add some cleanups to the makefile
20:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31277
20:52 bacek_ morning everyone
20:52 bacek rakudo: my %sane = hash ("a"=>"b"); say defined %sane.WHAT
20:52 polyglotbot OUTPUT[0␤]
20:53 bacek bad rakudo...
20:53 jonathan Correct Rakudo.
20:53 jonathan Proto-objects are not defined.
20:53 bacek jonathan: why?
20:53 particle protoobjects are undefined objects
20:53 jonathan Because they're an empty instance of the object.
20:53 dalek r31278 | particle++ | trunk:
20:53 dalek : [rakudo] add some cleanups to the makefile
20:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31278
20:54 bacek ok. So in spectest "is(%sane.WHAT, 'Hash')" should be replaced with "is(~%sane.WHAT, 'Hash')"?
20:55 jonathan Yes, that would seem sensible.
20:55 bacek jonathan: ok.
20:58 * bacek thinks that many '#rakudo skip' should be replaced with '#rakudo todo' in spectest.
20:58 particle that would be wonderful, if they parse and fail they should be todo
20:59 bacek rakudo: my %h; %h<a> = 'foo'; say %h.{a}
20:59 polyglotbot OUTPUT[Statement not terminated properly at line 1, near ".{a}"␤␤current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 25385 (src/gen_grammar.pir:3009)␤called from Sub 'parrot;Perl6::Grammar;statementlist' pc
20:59 polyglotbot ..24041 (src/gen_grammar.pir:2476)␤called from Su...
21:00 particle rakudo: my %h; %h<a> = 'foo'; say %h.{'a'}
21:00 polyglotbot OUTPUT[Statement not terminated properly at line 1, near ".{'a'}"␤␤current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 25385 (src/gen_grammar.pir:3009)␤called from Sub 'parrot;Perl6::Grammar;statementlist'
21:00 polyglotbot ..pc 24041 (src/gen_grammar.pir:2476)␤called from ...
21:01 particle rakudo: my %h; %h<a> = 'foo'; say %h{'a'}
21:01 polyglotbot OUTPUT[foo␤]
21:01 particle ok, so .{} isn't working :(
21:01 davidfetter hello
21:01 purl hi, davidfetter.
21:01 davidfetter any word on 1.0.0?
21:02 bacek davidfetter: before X-mas
21:03 davidfetter :(
21:03 particle every time i see 1.0.0, i think $$$
21:03 Whiteknight ...or maybe slightly after xmas
21:03 Whiteknight yeah, because $$$ requires LTM
21:05 davidfetter LTM?
21:05 purl i think LTM is longest token matching
21:08 bacek rakudo: my $a; eval 'try { die CATCH { $a=1 } }'; say $a
21:08 polyglotbot OUTPUT[␤]
21:08 Tene bacek: eval can't access outer lexicals, last I heard.
21:08 particle my $a; eval 'try { die CATCH { $a = 1 } }'; say $a
21:09 particle er, oops
21:09 particle the test should probably use spaces around the =
21:09 particle but tene is right iirc
21:10 Tene Also, I don't know if catch blocks are implemented or not.
21:10 Tene regardless, if that works, it sohuldn't need ot be in eval.
21:10 Tene rakudo: my $a; try { die; CATCH { $a = 1 } }; say $a
21:10 polyglotbot OUTPUT[Statement not terminated properly at line 1, near "{ $a = 1 }"␤␤current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 25385 (src/gen_grammar.pir:3009)␤called from Sub
21:10 polyglotbot ..'parrot;Perl6::Grammar;statementlist' pc 24041 (src/gen_grammar.pir:2476)␤called f...
21:10 Tene So, no.
21:11 dalek r31279 | fperrad++ | trunk:
21:11 dalek : [Markdown]
21:11 dalek : - rename Markdown:Header to Markdown::Title
21:11 dalek : - implement SetextHeading
21:11 dalek : - and add tests
21:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31279
21:12 Tene Is it even called CATCH?
21:12 cognominal left #parrot
21:12 jonathan Yes, it's called CATCH.
21:12 cognominal joined #parrot
21:12 jonathan But not implemented.
21:13 bacek jonathan: I hoped that "exceptionmagik" branch was for implementing those exceptions...
21:13 Tene No, parrot-level exceptions.
21:14 bacek ah, ok
21:15 dalek r31280 | fperrad++ | trunk:
21:15 dalek : [Markdown]
21:15 dalek : - add a MAINTAINER file
21:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31280
21:16 Tene I should delete than branch.  I don't need it anymore.
21:19 jonathan bacek: I think there's some PCT refactors to do first, maybe.
21:20 bacek jonathan: may be. But I never touched PCT internals ;)
21:20 jonathan I do it occasionally, but only for easy changes.
21:20 bacek Lets treat LTM as "easy change"
21:23 jonathan That is PGE anyway. Which I think I've done all of 0 patches to.
21:24 Tene I made a change to PGE!
21:24 Tene I added P6object support to it.
21:24 bacek Tene: so, why you didn't implement LTM yet?? ;)
21:24 particle pge is a bit scarier than pct
21:25 particle bacek: pmichaud is eating that task for breakfast
21:25 Tene bacek: give me a patch and I'll apply it. ;)
21:25 bacek there is many other (my) patches waiting to commit...
21:26 bacek jonathan: I didn't readback. Is there is decision about my Test.pm patch?
21:27 nopaste "bacek" at 122.110.47.213 pasted "Avoid unitialized warnings in Test.pm" (52 lines) at http://nopaste.snit.ch/14127
21:28 bacek I actually fixed spectests to pass with my version of Test.pm :)
21:31 bacek omg... PGE _IS_ scary...
21:31 cotto_work piggy and tiggy
21:32 cotto_work although I'm sure I'll have other names for them if I ever have occasion to work on them
21:34 jonathan bacek: IIRC, someone disagreed with it.
21:34 jonathan I forget who...
21:34 bacek guess, pm?
21:36 * moritz and pm
21:36 bacek ouch... both pmichaud and moritz disagreed...
21:36 PerlJam bacek: did you do something complicated?
21:37 bacek PerlJam: what do you mean? In Test.pm? No.
21:38 bacek moritz: can you write wonderful tool, similar to autounfuge, to convert "skip" to "todo"?
21:38 moritz bacek: autounfudge can do it already
21:39 moritz bacek: with the --unskip option (certainly underdocumented)
21:39 dalek r31281 | fperrad++ | trunk:
21:39 dalek : [Markdown]
21:39 dalek : - implement HorizontalRule
21:39 dalek : - and add tests
21:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31281
21:40 * bacek installing TAP::Harness
21:42 cognominal I can't wait pmichaud to explain us the .list method and the .item method
21:43 Tene Are there any examples of documentation on how to use ncigen yet?
21:44 particle Whiteknight: ping
21:44 bacek moritz: requesting --jobs param for autounfudge.pl
21:44 bacek ;)
21:44 moritz bacek: I thought about that too, but I'm not good with concurrency at all
21:46 moritz bacek: simplest thing might be to write a Makefile in a temp dir where each test file is a separate target, and then just run make -j $count
21:47 particle or maybe test::tap::parallel can be used
21:48 moritz I don't think it's worth the effort, because you use autounfudge quite differently from "make test" (if you use it at all)
21:48 moritz when you change something in a compiler, you do a "make test" and essentially wait until it's done
21:49 moritz when you run autounfudge you can just let it do its work in the background, and come back 15min later and see what it produces
21:49 moritz *produced
21:59 nopaste "bacek" at 122.110.47.213 pasted "multithread autounfudge for moritz." (43 lines) at http://nopaste.snit.ch/14128
21:59 bacek Subject for cleanup. But main idea is clear
22:00 moritz bacek: does that take care of continuously writing the patch?
22:01 confound I,I "multithread autounfudge"
22:02 moritz we should rename it to magicunfudge ;)
22:02 bacek moritz: not yet
22:02 moritz why does the multi-threaded chicken cross the street?ss the street? ;-)
22:06 nopaste "bacek" at 122.110.47.213 pasted "magicungudge with proper locking ;)" (58 lines) at http://nopaste.snit.ch/14130
22:08 bacek works for me. Found 4 s/skip/todo/ so far ;)
22:08 moritz I'll take a look at it tomorrow, time for bed $here ;)
22:08 cotto_work moritz++
22:09 bacek g'night
22:38 Ademan joined #parrot
22:59 tetragon joined #parrot
23:27 particle convert 1USD to AUS
23:27 purl I don't know how to convert 1USD to AUS.
23:27 particle grr
23:27 particle convert 1USD to AUD
23:27 purl I don't know how to convert 1USD to AUD.
23:27 particle :(
23:28 particle 1 USD=1.1979 AUD
23:30 cjfields joined #parrot
23:31 kid51 joined #parrot
23:33 nopaste "bacek" at 122.110.104.181 pasted "Final version of multithreaded unfudge for moritz." (77 lines) at http://nopaste.snit.ch/14133
23:34 bacek joined #parrot
23:38 AndyA joined #parrot
23:38 gmansi joined #parrot
23:49 cotto_work convert 1 USD to AUD
23:49 purl I don't know how to convert 1 USD to AUD.
23:49 cotto_work convert 1 C to F
23:49 purl 1 Celsius is 33.8 Fahrenheit.
23:50 jonathan purl: convert say "OH HAI" to LOLCODE
23:50 purl I don't know how to convert say "OH HAI" to LOLCODE.
23:50 bacek rakudo: say 1/0.83
23:50 polyglotbot OUTPUT[1.20482␤]
23:50 bacek cotto_work: this is USD->AUD ;)
23:51 kid51 convert 0 C to F
23:51 purl 0 Celsius is 32 Fahrenheit.

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

Parrot | source cross referenced