Camelia, the Perl 6 bug

IRC log for #parrot, 2012-06-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:07 dalek parrot/whiteknight/io_cleanup1: eca5d48 | Whiteknight++ | / (2 files):
00:07 dalek parrot/whiteknight/io_cleanup1: Fix Socket.get_bool. Remove a readline test from t/pmc/socket.t which was absolutely not doing the right thing.
00:07 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/eca5d483a8
00:07 dalek parrot/whiteknight/io_cleanup1: 9aeede6 | Whiteknight++ | / (4 files):
00:07 dalek parrot/whiteknight/io_cleanup1: Fix Parrot_io_socket semantics to return 1 on success. Add in a Parrot_io_socket_handle legacy wrapper with the old behavior. Re-implement Socket.socket. Some TODO notes.
00:07 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/9aeede64c6
00:08 whiteknight blah, the socket tests are hanging and I don't know why
00:08 whiteknight It does not appear to me that they are doing anything different from what they are doing before
00:11 Khisanth joined #parrot
00:42 TonyC joined #parrot
00:49 nopaste joined #parrot
00:52 dalek parrot/whiteknight/io_cleanup1: 82035c2 | Whiteknight++ | / (6 files):
00:52 dalek parrot/whiteknight/io_cleanup1: Use separate flags for adding read/write buffers to handles by default. Remove the ad hoc buffer STRING nonsense from socket.pmc, replaced by actual buffer logic.
00:52 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/82035c271f
00:59 whiteknight blah, these socket tests are annoying the heck out of me
00:59 whiteknight recv() is hanging on the client. I'm not sure what's the holdup on the server
00:59 whiteknight recv() may be hanging there too
01:07 whiteknight whatever. goodnight
01:45 kid51 joined #parrot
02:31 dalek m1: c217bf3 | jimmy++ | src/gencode.c:
02:31 dalek m1: fixed segfault
02:31 dalek m1: review: https://github.com/parrot/m1/commit/c217bf3220
02:31 dalek m1: 047b18e | jimmy++ | / (2 files):
02:31 dalek m1: changed unuse_reg to free_reg and use_reg to alloc_reg
02:32 dalek m1: review: https://github.com/parrot/m1/commit/047b18e21c
02:37 crab2313 joined #parrot
04:37 Chin joined #parrot
04:45 Chin left #parrot
05:32 rurban joined #parrot
05:51 dduncan joined #parrot
05:53 dduncan left #parrot
06:05 crab2313 joined #parrot
06:32 birdwindupbird joined #parrot
08:03 kjs joined #parrot
08:10 lucian joined #parrot
08:11 brrt joined #parrot
08:57 kjs joined #parrot
10:00 dalek mod_parrot: f95fa2f | (Bart Wiegmans)++ | / (6 files):
10:00 dalek mod_parrot: Add ParrotLanguage option based on suffix
10:00 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/f95fa2f50b
10:26 dalek m1: 959bd8d | kjs++ | src/ (3 files):
10:26 dalek m1: updates to multidimensional array handling.
10:26 dalek m1: review: https://github.com/parrot/m1/commit/959bd8d07b
10:27 JimmyZ joined #parrot
10:27 JimmyZ hello kjs
10:28 kjs hi Jimmy
10:28 kjs hi JimmyZ :-)
10:30 JimmyZ kjs: did you see this gist? https://gist.github.com/2581153
10:31 kjs JimmyZ: nope. thanks for pointer, i'll have a look
10:31 JimmyZ ;)
10:34 brrt left #parrot
10:34 kjs JimmyZ: I agree with cotto that we shouldn't have ops (yet!) for calling conventions
10:34 kjs for m0cc :-)
10:34 kjs then we'll fall into the same trap as with PIR
10:35 kjs and I don't like macros so I dont want to implement them in M1 :-)
10:36 JimmyZ kjs: I agreed with cotto too.
10:37 kjs I like the idea of an M0 debugger.
10:37 kjs that would be VERY handy to have now we're running into problems with calling and returning values
10:38 JimmyZ kjs: nbrown had a debugger, but not complete
10:38 kjs is it checked in?
10:39 JimmyZ kjs: https://github.com/parrot/parrot/tree/m0-debugger
10:40 kjs JimmyZ: have you tried that?
10:41 JimmyZ kjs: cotto++ tried it
10:41 JimmyZ kjs: I didn't
10:42 kjs JimmyZ: I'll try it over the weekend.
10:42 kjs JimmyZ: http://t-a-w.blogspot.ie/2007/​03/how-to-code-debuggers.html
10:43 JimmyZ kjs: nice article
10:45 JimmyZ kjs: m0-debugger doesn't use ptrace
10:45 kjs no i just realized that probably doesnt make much sense
10:45 kjs basically you need an M0 interpreter but one that stops after each step, and be able to print what's in the registers.
10:45 kjs step = instruction
10:46 JimmyZ aye
10:50 kjs well from the list of M0 testing todo: the recursively doing something thing can be checked off :-)
10:52 JimmyZ yeah, M1 have fib!
10:53 kjs and fact
10:57 JimmyZ :)
11:13 dalek m1: c359637 | kjs++ | / (2 files):
11:13 dalek m1: add jimmy++ to credits. Add a few notes to pddxx_m1 so these wont be forgotten.
11:13 dalek m1: review: https://github.com/parrot/m1/commit/c3596378dd
11:53 schm00ster joined #parrot
12:12 whiteknight joined #parrot
12:14 whiteknight good morning, #parrot
12:22 kid51 joined #parrot
12:32 bluescreen joined #parrot
12:45 crab2313 joined #parrot
12:52 kjs joined #parrot
12:59 bluescreen joined #parrot
13:10 Psyche^ joined #parrot
13:25 estrabd joined #parrot
13:26 kid51 joined #parrot
13:52 dmalcolm joined #parrot
13:59 kid51 joined #parrot
14:15 dalek rakudo/nom: a2bacb6 | duff++ | CREDITS:
14:15 dalek rakudo/nom: update to github username
14:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a2bacb6196
14:19 PacoAir joined #parrot
14:39 brrt joined #parrot
14:39 dalek m1: bafb467 | kjs++ | src/ (4 files):
14:39 dalek m1: add code for bitwise not operator (~). M0 needs support.
14:39 dalek m1: review: https://github.com/parrot/m1/commit/bafb467603
14:44 dduncan joined #parrot
14:51 jashwanth joined #parrot
14:53 jashwanth Hello dukeleto
15:13 whiteknight joined #parrot
15:13 whiteknight good morning, #parrot
15:15 brrt good afternoon, whiteknight
15:15 whiteknight hello brrt, how are things going today?
15:16 brrt pretty well, except for the rain :-)
15:16 brrt i've added two new configuration options
15:17 brrt i'm in the process of adding real error reporting (i.e., to the apache logs)
15:18 brrt how are things going with you?
15:19 dukeleto jashwanth: howdy
15:27 brrt i've had a real discussion going on the modules-dev mailing list, which was unfruitful because i got it by digest (i.e., 1,5 days after)
15:34 brrt1 joined #parrot
15:36 brambles joined #parrot
15:42 brambles_ joined #parrot
15:53 mtk joined #parrot
15:54 jashwanth joined #parrot
15:56 darbelo joined #parrot
15:58 kid51 joined #parrot
16:10 brrt1 hey, is there an obvious way to load a bytecode file as a library? i used to think it was loadlib but i appear to be wrong
16:12 whiteknight load_bytecode
16:13 brrt1 lets see
16:14 dukeleto msg jashwanth please ask your questions in here so others can help you if I am not around
16:14 aloha OK. I'll deliver the message.
16:15 jashwanth ok dukeleto
16:15 dukeleto brrt1: beware, load_bytecode (last time I checked) didn't throw an error if it doesn't find the library
16:15 dukeleto jashwanth: i saw the code you wrote, nice progress!
16:15 whiteknight dukeleto: It should, I thought
16:15 whiteknight maybe that's the new variant
16:15 whiteknight or maybe it returns null
16:15 whiteknight I can't remember
16:15 brrt it works, it sems
16:16 dukeleto jashwanth: what is the current error that you are running into?
16:17 jashwanth dukeleto:whiteknight helped me to fix it
16:17 jashwanth dukeleto:https://github.com/jashwanth9/par​rot-lapack/blob/master/mat.winxed
16:17 dukeleto whiteknight++
16:18 dukeleto jashwanth: firstly, we need to create a file with tests for the dgetrf function
16:18 dukeleto jashwanth: it should be called t/winxed/dgetrf.t
16:19 jashwanth dukeleto:ok
16:19 brrt oh, how i do love not having implemented error reporting properly
16:19 jashwanth dukeleto:so basically what should the test to
16:20 dukeleto jashwanth: the test uses the implementation (mat.winxed) to do a computation, and then it verifies the correct thing happened
16:21 dukeleto jashwanth: are you familiar with what dgetrf does, i.e. LU factorization ?
16:21 jashwanth yes
16:21 jashwanth dukeleto, yea I am
16:21 zby_home joined #parrot
16:22 mtk joined #parrot
16:22 dukeleto jashwanth: basically, we want to run the dgetrf function, get the return values and make sure they look correct.
16:22 dukeleto jashwanth: one basic test could be that the return values are not the zero matrix, because if you do the LU factorization of a matrix with non-zero determinant, the L and U matrices must also have non-zero determinant
16:23 dukeleto jashwanth: also, make sure that the L is in fact lower triangular and that U is in fact upper triangular
16:23 jashwanth dukeleto:ok there is a variable info which checks if the function has executed correctly
16:23 dukeleto jashwanth: which you could do by making sure all entries above the diagonal in L are zero and that all entried below the diagonal in U are zero
16:24 dukeleto jashwanth: yes, verify that as well. Basically, don't believe anything and check as much as you can :)
16:24 dukeleto jashwanth: also, math terms sometimes change drastically in different spoken languages, so please tell me if I am using a math word that you don't understand
16:24 jashwanth dukeleto: I think I get it so you want me to double  check the result right
16:25 dukeleto jashwanth: yes. writing tests is like "double checking" that what you wanted to happen actually happened :)
16:25 dukeleto jashwanth: since I am a mathematician, i like to think of tests as the proof that your code works
16:26 dukeleto jashwanth: tests are not quite mathematical proofs, but they are the closest we can get when writing code
16:26 dukeleto jashwanth: make sense?
16:28 jashwanth_ joined #parrot
16:29 dukeleto jashwanth_: howdwy
16:29 dukeleto jashwanth_: your test will look very similar to https://github.com/letolabs/parrot-li​bgit2/blob/master/t/winxed/001_load.t
16:30 dukeleto jashwanth_: so you can copy that file and modify it to use parrot-lapack and call the dgetrf function
16:30 dukeleto jashwanth_: one of your tests should be that info==0
16:33 jashwanth joined #parrot
16:33 jashwanth dukeleto: yes I got it
16:33 dukeleto jashwanth: we also need to think of how we want to organize these functions
16:34 jashwanth dukeleto: I was wondering about that today
16:35 darbelo joined #parrot
16:35 jashwanth also the LAPACK defining this DGETRF computes an LU factorization of a general M-by-N matrix a using partial pivoting with row interchanges.
16:36 dukeleto jashwanth: let's do the simplest possible thing
16:36 dukeleto jashwanth: give the DGETRF a 1x1 identity matrix
16:36 jashwanth dukeleto:but when I checked the result it seens to be doing a colomn exchanges
16:36 dukeleto jashwanth: then L=I, U=I, where I = "the 1x1 identity matrix"
16:36 jashwanth 1 sec
16:37 dukeleto jashwanth: hmmm. there may be a mixup where somethig is in row-major form but something else expect column-major
16:37 dukeleto jashwanth: i suggest writing the 1x1 test first. It is the simplest possible thing and it will give you a feel for how testing works
16:38 jashwanth dukeleto: am doing that
16:38 dukeleto jashwanth: awesome
16:39 dukeleto jashwanth: your test will look like this: self.assert.equal(info,0);
16:39 dukeleto jashwanth: and then you should look at the element inside each of the 1x1 L and U matrices and write a similar test: self.assert.equal(element,1)
16:40 jashwanth dukeleto:do you want me to just test the result first on the mat.winxed or write the test function *.t
16:40 dukeleto jashwanth: always write the tests down in the test file *.t
16:40 dukeleto jashwanth: much of your gsoc project will be writing those test files :)
16:40 moritz it's funny how key words like "row-major" instantly remind me of my bad old days of mixing C++ with FORTRAN code :-)
16:40 dukeleto jashwanth: and documentation :)
16:41 dukeleto moritz: yeah, it gives me flashbacks to linear algebra and the DIMENSION THEOREM (dun dun DUN!)
16:42 dukeleto jashwanth: your test will need to load the mat.pbc bytecode file at the top, so it knows how to call the dgetrf function
16:42 jashwanth dukeleto: will go throught the code you sent me
16:43 jashwanth dukeleto, how do i get a pbc bytecode file from a *.winxed
16:43 * dukeleto reads some FORTRAN
16:43 jashwanth dukeleto, I didnt get that
16:44 dukeleto jashwanth: $load "./src/mat.pbc"
16:44 jashwanth dukeleto, I ment how do I generate such a file mat.pbc
16:45 dukeleto jashwanth: the *.pbc files are generated when you type "winxed setup.winxed build"
16:45 dukeleto jashwanth: but, for that to work, you need to move mat.winxed to ./src/LAPACK
16:45 darbelo joined #parrot
16:46 dukeleto jashwanth: git mv mat.winxed src/LAPACK
16:46 dukeleto jashwanth: git add src/LAPACK/mat.winxed
16:46 dukeleto jashwanth: git commit -m "move mat.winxed to the correct directory"
16:46 dukeleto jashwanth: please do that right now and then do: git push origin master
16:47 jashwanth dukeleto, so basically I need to run the setup.winxed file to check if the test file works am i right
16:48 dukeleto jashwanth: winxed setup.winxed test # this runs the tests
16:49 jashwanth ok
16:49 dukeleto jashwanth: winxed setup.winxed build # this builds the *.pbc files and anything else
16:51 dukeleto jashwanth: please type the above git commands and let me know when you are done (the git mv, git add, git commit and git push)
16:51 jashwanth dukeleto, "error: failed to push some refs to 'git@github.com:jashwanth9/parrot-lapack.git'
16:51 jashwanth To prevent you from losing history, non-fast-forward updates were rejected
16:51 jashwanth Merge the remote changes (e.g. 'git pull') before pushing again.  See the
16:51 jashwanth 'Note about fast-forwards' section of 'git push --help' for details.
16:51 jashwanth "
16:52 jashwanth dukeleto, I got that when I did git push
16:52 dukeleto jashwanth: yes, type "git pull origin master" first
16:53 dukeleto jashwanth: whenever you see that error, that means the remote (Github) has more stuff than your local branch, so if you pushed, you might lose data, delete commits, etc
16:53 dukeleto jashwanth: git works very hard to make sure you don't lose data
16:53 dukeleto jashwanth: what happens after you type "git pull origin master" ?
16:54 jashwanth dukeleto, remote: Counting objects: 11, done.
16:54 jashwanth remote: Compressing objects: 100% (7/7), done.
16:54 jashwanth remote: Total 9 (delta 6), reused 5 (delta 2)
16:54 jashwanth Unpacking objects: 100% (9/9), done.
16:54 jashwanth From github.com:jashwanth9/parrot-lapack
16:54 jashwanth * branch            master     -> FETCH_HEAD
16:54 jashwanth Auto-merging src/LAPACK/mat.winxed
16:54 jashwanth CONFLICT (content): Merge conflict in src/LAPACK/mat.winxed
16:54 jashwanth Automatic merge failed; fix conflicts and then commit the result.
16:54 dukeleto jashwanth: yay, your first merge conflict :)
16:55 dukeleto jashwanth: this means you need to open src/LAPACK/mat.winxed in your editor and fix the conflict
16:55 dukeleto jashwanth: are you pushing to your github repo from multiple computers? I am wondering why you are getting conflicts from your own repo
16:55 dukeleto jashwanth: have you ever fixed a merge conflict with git before?
16:56 dukeleto jashwanth: it is easy, just wondering if you have, so I know how much help to give you
16:56 jashwanth dukeleto, this is the only comp I am working on this project
16:56 dukeleto jashwanth: if you want, paste the entire file on https://gist.github.com/ and then paste the gist link in here
16:56 dukeleto jashwanth: ok.
16:57 jashwanth dukeleto, no this is my first meeting with them
16:57 dukeleto jashwanth: create a gist of the mat.winxed file and I can help you
16:57 dukeleto jashwanth: basically, git saw that you did one thing on your local repo, but something else happened to the file on github, and it couldn't resolve them automatically
16:58 dukeleto jashwanth: this usually happens when two people change the same line of code, and then Git says "I don't know what to do here" which is called a "merge conflict"
16:58 dukeleto jashwanth: it sounds a lot worse than it actually is :)
16:58 dukeleto jashwanth: you should see some lines like ====, <<<<, >>>>
16:59 dukeleto jashwanth: that is where it tells you what each version of the file had for various pieces of the file
16:59 jashwanth dukeleto, yes I am seeing those
16:59 * Coke loves having beyond compare tied into tortoisegit so I can use the GUI to resolve those. ;)
16:59 dukeleto jashwanth: ok, gist the file and I can help
17:00 dukeleto jashwanth: also, you should read this page later to get some background on how this all works: http://git-scm.com/book/ch3-2.html
17:00 jashwanth dukeleto, ok the original code file right
17:00 dukeleto Coke: mergetool is a lovely thing
17:00 jashwanth dukeleto, thanks for that
17:00 jashwanth dukeleto++
17:01 jashwanth dukeleto, https://gist.github.com/2937581
17:02 jashwanth dukeleto, do you want me to give u the file with >>>>>>> ===== one
17:04 dukeleto jashwanth: not really, it seems that you removed them already :)
17:04 dukeleto jashwanth: does the file still work? Can you run it? i.e. make sure you didn't introduce a syntax error
17:04 jashwanth dukeleto, I had am other copy thsi is the original file
17:05 dukeleto jashwanth: if it still works, then you need to add the file to tell Git "I resolved the merge conflict": git add mat.winxed
17:05 jashwanth dukeleto, It sure does
17:05 dukeleto jashwanth: and to finish telling it you fixed the conflict, make the commit: git commit -m "fix merge conflict"
17:05 dukeleto jashwanth: awesome!
17:06 jashwanth dukeleto, https://gist.github.com/2937601 the file where merge comflict occered
17:09 dukeleto jashwanth: ok. once you commit the fix, do this: git push origin master
17:09 dukeleto jashwanth: and let me know when you do it :)
17:09 jashwanth dukeleto, ok
17:10 kid51 joined #parrot
17:11 jashwanth dukeleto, ok done
17:12 jashwanth dukeleto, should I send u a pull request
17:15 dukeleto jashwanth: not yet :)
17:16 dukeleto jashwanth: ok, mat.winxed isn't a great name, and the way setup.winxed works now, it wants the file to be called Common.winxed
17:16 jashwanth dukeleto, https://github.com/jashwanth9/parrot-la​pack/blob/master/src/LAPACK/mat.winxed
17:16 jashwanth dukeleto, so change the file name to ....
17:16 dukeleto jashwanth: so you should now do: cd src/LAPACK; git mv mat.winxed Common.winxed; git add Common.winxed; git commit -m "give file a better name"; git push
17:17 jashwanth dukeleto,
17:17 dukeleto jashwanth: and you will notice that "git push" does the same as "git push origin master", because the default remote for all git commands is "origin" and the default branch is "master"
17:17 dukeleto jashwanth: yes, I see your changes :)
17:18 dukeleto jashwanth: once you do the above commands, run "winxed setup.winxed build" and gist the output
17:18 jashwanth dukeleto, ok
17:19 jashwanth dukeleto, but there is already a Common.winxed file in theis directory
17:19 dalek m1: a6fe3e4 | kjs++ | src/gencode.c:
17:19 dalek m1: add more explanation for code generation on multidimensional arrays.
17:19 dalek m1: review: https://github.com/parrot/m1/commit/a6fe3e434a
17:22 jashwanth dukeleto, so can I give it any other name or this specific one Common.winxed
17:22 dukeleto jashwanth: call it Common.winxed for now, so other stuff works
17:22 dukeleto jashwanth: i am trying to minimize your work :)
17:23 dukeleto jashwanth: setup.winxed assumes it is called Common.winxed right now
17:24 jashwanth but there is already a file named with that
17:24 jashwanth dukeleto, it says "fatal: destination exists, source=src/LAPACK/mat.winxed, destination=src/LAPACK/Common.winxed"
17:25 dukeleto jashwanth: ah! My mistake
17:25 jashwanth dukeleto, so should I delete that file
17:25 dukeleto jashwanth: ok, lets call the file Double.winxed, for LAPACK function which operate on doubles
17:25 dukeleto jashwanth: no, don't delete it. It will be useful
17:25 jashwanth dukeleto, ok
17:25 dukeleto jashwanth: git mv mat.winxed Double.winxed
17:25 jashwanth dukeleto, I will call it
17:27 jashwanth dukeleto, ok done
17:28 dukeleto jashwanth: ok, do a "git push" too
17:28 dukeleto jashwanth: i just made this commit: https://github.com/leto/parrot-lapack/commi​t/2fed0d7558f81372a19ca3f2db1da6bad1b081d8
17:28 dalek m1: c689da2 | kjs++ | src/gencode.c:
17:28 dalek m1: fixed rows and columns mixup in doc. add a bit of code.
17:28 dalek m1: review: https://github.com/parrot/m1/commit/c689da2b64
17:29 jashwanth dukeleto, ok then now this doule name is also accepted
17:29 dukeleto jashwanth: ok, get ready to learn some more Git!
17:29 jashwanth dukeleto, to get that file should I download that file
17:29 dukeleto jashwanth: no, we have Git to do that :)
17:29 jashwanth dukeleto, ok am ready
17:30 dukeleto jashwanth: type this command: git remote add upstream git://github.com/leto/parrot-lapack.git
17:30 moritz dukeleto: you should add notifications for that repo; see https://github.com/perl6/mu/bl​ob/master/misc/dalek-push.txt for instructions
17:30 dukeleto jashwanth: that tells your Git repo how to talk to my git repo
17:30 dukeleto moritz: just did, before you asked :)
17:30 dukeleto moritz++ for suggesting, though :)
17:30 dukeleto jashwanth: then type: git fetch --all
17:31 jashwanth dukeleto, it says"fatal: remote upstream already exists."
17:31 dukeleto jashwanth: ha! Maybe I already told you to do that. do a "cat .git/config" and make sure upstream is pointed at git://github.com/leto/parrot-lapack.git
17:32 dukeleto jashwanth: what happens when you type "git fetch --all" ?
17:33 jashwanth dukeleto, it did fetch some stuff
17:34 jashwanth dukeleto, from "From git://github.com/leto/parrot-lapack"
17:34 lucian joined #parrot
17:36 dukeleto jashwanth: yay!
17:36 dukeleto jashwanth: ok, now type: git merge upstream/master
17:36 jashwanth dukeleto, done
17:37 dukeleto jashwanth: if everything works, then you will have my latest commit in your local git repo
17:37 cotto ~~
17:37 dukeleto jashwanth: do you see my commit when you type "git log -p" ?
17:37 dukeleto cotto: mornin'
17:37 not_gerd joined #parrot
17:38 not_gerd hello, #parrot
17:38 dukeleto cotto: how do you feel about implementing bitwise NOT in M0 as two's complement minus 1?
17:38 jashwanth dukeleto, I think I do
17:38 dukeleto cotto: should bitwise NOT be an M0 op ? kjs wants it in m1
17:39 dukeleto jashwanth: awesome!
17:39 dukeleto jashwanth: what happens when you type: "winxed setup.winxed build; winxed setup.winxed test"
17:39 dukeleto cotto: https://github.com/parrot/parrot/issues/793
17:40 jashwanth dukeleto, sending u  a gist of this
17:40 dukeleto jashwanth: in general, when you want to update your repo with changes from my repo: git fetch --all; git merge upstream/master
17:40 cotto dukeleto, looking
17:41 dukeleto jashwanth: you might get merge conflicts sometimes, but you know how to deal with those now :)
17:41 kjs dukeleto: I want to be able to access it in M1
17:41 jashwanth dukeleto, yes I do partially now
17:41 jashwanth dukeleto, https://gist.github.com/2937779
17:42 jashwanth I need to make the changes where there is >>> with === ones right
17:42 cotto hio kjs
17:43 bluescreen joined #parrot
17:43 jashwanth dukeleto, I think I got to know why I did get a merge conflict
17:43 dukeleto jashwanth: hmmm, that is an error from Rosella
17:44 jashwanth dukeleto, I had edited it in the gui then committed there on the website
17:44 dukeleto jashwanth: did you create a t/winxed/dgetrf.t file yet?
17:45 dukeleto jashwanth: aha! That makes more sense. I was wondering if there was 2 of you or something :)
17:45 jashwanth dukeleto,:D
17:45 jashwanth dukeleto, no did not till now
17:45 dukeleto jashwanth: for now, create a t/winxed/dgetrf.t file that calls the dgetrf function and then run the test like this: winxed t/winxed/dgetrf.t
17:46 dukeleto jashwanth: ok, go and create the file. You are making good progress. Keep it up!
17:46 dukeleto msg whiteknight do you know what is up with this? https://gist.github.com/2937779
17:46 aloha OK. I'll deliver the message.
17:46 jashwanth dukeleto, thanks for the help
17:46 dukeleto jashwanth: you learned a lot about Git today. Reward yourself :)
17:47 jashwanth dukeleto, thanks to you I did
17:47 dukeleto jashwanth: basically, the next few steps are to write tests for the dgetrf function, like I mentioned above about the 1x1 matrices.
17:47 dukeleto jashwanth: that is what mentors are for :)
17:47 cotto kjs, did you see dukeleto's suggestion about binary NOT in m0? https://github.com/parrot/parrot/issues/793
17:48 jashwanth dukeleto, morning was wondering how I would be integrating all this and how others would be using my code
17:48 mtk0 joined #parrot
17:51 dukeleto jashwanth: that will become clear soon enough :)
17:51 dukeleto jashwanth: concentrate on making small improvements every day
17:51 dukeleto cotto: how is startup life?
17:51 dukeleto cotto: what are you coding in?
17:52 whiteknight dukeleto: Weird error. I wonder why that is
17:52 dukeleto jashwanth: don't get demotivated when you hit an error. Try something else, change the way you think about it, work on something else and come back later
17:52 whiteknight dukeleto: I haven't touched Rosella in a few weeks. I'll stare at it tonight
17:52 dukeleto jashwanth: just don't let errors stop you. Keep going. Make something work.
17:53 jashwanth dukeleto, thanks for the motivation 0:)
17:53 dukeleto whiteknight: ok, it is not a total blocker, but I haven't seen that error before
17:53 dukeleto jashwanth: :)
17:53 dukeleto jashwanth: once you get a few tests written, everything will make a lot more sens
17:53 dukeleto sense
17:54 whiteknight dukeleto: I haven't seen the error either. Troubling that it's happening in the test harness
17:54 dukeleto whiteknight: could it be from not cleaning before building+testing?
17:54 cotto dukeleto, crazy with a capital k
17:54 whiteknight I have no idea. I doubt it
17:54 dukeleto cotto: sounds about right.
17:54 cotto I'm hacking on some drupal code
17:55 cotto it doesn't help that everyone else is a git newbie
17:56 jashwanth dukeleto, morning was wondering why and how will my project help the community but now makes some sense to me
17:58 cotto A startup seems to be a device that converts money into panic.
17:59 jashwanth cotto, did you refer that to me
17:59 cotto jashwanth, sorry.  talking with dukeleto
18:00 jashwanth cotto, sorry there is nothing like that
18:00 jashwanth cotto, :)
18:01 kjs hi cotto
18:02 dukeleto cotto: well, this might be a good time to mention that I am looking for work and that I do git consulting ;)
18:03 cotto dukeleto, that's interesting.  I'll bring that up.
18:03 * dukeleto is currently a free agent and looking for contract, part and full-time gigs
18:04 cotto did your startup go kaboom?
18:04 dukeleto cotto: i give all clients a free first hour and open sourcey shops get a discount too :)
18:05 cotto also interesting
18:05 whiteknight dukeleto: Go on kickstarter. See if people will pay you to work on parrot fulltime for a while
18:05 dukeleto cotto: the startup I was working at wasn't treating me right, so I decided to walk away.
18:05 dukeleto whiteknight: not a bad idea.
18:05 dukeleto whiteknight: or maybe petridish.org
18:06 whiteknight sure, whichever. I'm not sure the venue matters so much
18:09 dukeleto whiteknight: have you seen try.haxe.org ?
18:09 whiteknight no sir
18:09 whiteknight looks fantastic
18:10 dukeleto whiteknight: I have a dream of making try.parrot.org be a pretty interface to my App::Parrot::Create
18:10 whiteknight What we don't really have right now is a nice way to limit processes, like a built-in timelimit or something
18:10 dukeleto whiteknight: it would be a pretty, friendly portal where you can generate the skeleton of a new Parrot language/library/etc and have links to the latest docs and best practices/etc
18:10 whiteknight If we get working security contexts going, a timeout would be a great setting
18:11 dukeleto whiteknight: perhaps I could make a small kickstarter/petri for making that a reality.
18:11 whiteknight So we have a main program that sets up a child context with a timeout (and severe limitations on IO) and run user code in that
18:11 dukeleto +1 to setting a timeout on child interps
18:12 whiteknight this kind of thing would work extremely well with threads
18:12 whiteknight (I haven't seen nine in a few days. I may merge threads without him at some point)
18:18 jashwanth dukeleto, ur test is to test about the git right
18:18 benabik ~~
18:20 rich joined #parrot
18:20 jashwanth dukeleto, can you help me with the start of it
18:20 brrt joined #parrot
18:23 contingencyplan joined #parrot
18:27 jashwanth whiteknight, dukeleto was telling me to write a test was wondering with the starting of it could you help
18:28 whiteknight sure. Did he give you any direction about what libraries to use?
18:29 whiteknight or, did the repo he set up have any test examples?
18:29 whiteknight ...it doesn't look like it
18:30 jashwanth no none but he gave me some example
18:30 jashwanth https://github.com/letolabs/parrot-li​bgit2/blob/master/t/winxed/001_load.t
18:30 whiteknight ah, okay. So he's using Rosella. Good
18:31 kid51 joined #parrot
18:32 jashwanth he told me to write a simple test for an Identity matrix first of order 1x1
18:32 whiteknight https://gist.github.com/2938052
18:32 whiteknight that's a skeleton file to use
18:32 whiteknight Every function in the MyTests class is a test
18:33 whiteknight Every test passes unless something goes wrong
18:33 jashwanth ok
18:33 jashwanth got that part
18:34 whiteknight okay, good
18:34 jashwanth I think that errors of the files I encountered while installing PLA was some test function failure right
18:34 whiteknight In that first_test() method, create a new NumMatrix2D, 1x1 as an identity matrix
18:35 whiteknight Then you can do tests by writing assertions
18:35 whiteknight self.assert.equal(x.rows, 1); self.assert.equal(x.cols, 1);
18:35 whiteknight self.assert.equal(x[0, 0], 1);
18:36 whiteknight and that's your first test
18:36 kid51 Does anyone know what $< would mean in a shell or Makefile context?
18:36 kid51 Examples:
18:37 kid51 vi +685 config/gen/makefiles/root.in
18:37 jashwanth ok doing that
18:37 not_gerd kid51: first prerequisite
18:38 not_gerd useful for stuff like: %.o : %.c ; $(CC) -c $<
18:38 patspam joined #parrot
18:38 kid51 Is it doing something like xargs?
18:38 not_gerd kid51: it's Makefile syntax
18:39 kid51 Ah!  I thought it was shell.
18:39 kid51 And I couldn't find anything about that.
18:39 patspam joined #parrot
18:40 kid51 patspam++ for the link
18:44 jashwanth whiteknight, $load "rosella/test.pbc";
18:44 jashwanth $load "./src/mat.pbc";
18:44 jashwanth class MyTests {
18:44 jashwanth var identity_matrix=new NumMatrix2D;
18:44 jashwanth identity_matrix.initialize_from_args(1,1,
18:44 jashwanth 1.0);
18:44 jashwanth function first_test() {
18:44 jashwanth self.assert.equal(x.rows, 1);
18:44 jashwanth self.assert.equal(x.cols, 1);
18:44 jashwanth self.assert.equal(x[0, 0], 1);
18:44 jashwanth }
18:44 jashwanth }
18:44 jashwanth function main[main](var args) {
18:44 jashwanth using Rosella.Test.test;
18:44 jashwanth test(class MyTests);
18:44 jashwanth }
18:44 jashwanth whiteknight, sorry my mistake
18:44 dalek m1: 94fedf2 | kjs++ | src/gencode.c:
18:44 dalek m1: more work on multidimensional arrays.
18:44 dalek m1: review: https://github.com/parrot/m1/commit/94fedf2a4a
18:44 brrt jashwanth: pastebin :-)
18:46 jashwanth brrt, what is that I could not get it
18:46 cotto aloha, nopaste?
18:46 aloha cotto: nopaste is is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
18:47 jashwanth whiteknight, https://gist.github.com/2938111
18:48 whiteknight that code has to appear inside the function
18:48 jashwanth oh
18:49 jashwanth https://gist.github.com/2938111
18:49 whiteknight you have to rename "x" in the assertion calls
18:49 whiteknight you used the variable name identity_matrix
18:50 jashwanth oh me bad
18:51 jashwanth done with that now  how do I do the checking of this test
18:51 whiteknight run it like a normal .winxed file
18:52 jashwanth ok
18:53 nopaste "kjs" at 193.1.104.2 pasted "x[1][2] = 3 segfaults. Replace I5 with I0 (destroying old value of I0) and it works." (29 lines) at http://nopaste.snit.ch/144102
18:54 kjs cotto: I'm trying to hand-code x[1][2] = 3, but it's segfaulting on a weird thing. When replacing a register it seems to work. WOuld you have a minute?
18:55 cotto looking
18:56 brrt i have a commit pending that is teh awesome
18:56 brrt i am excited!
18:56 jashwanth whiteknight, https://gist.github.com/2938111
18:57 whiteknight okay. Test runs. All tests pass
18:57 whiteknight Add that file to git and push it.
18:58 jashwanth ok will do that
18:58 kjs cotto: when inserting a line set I5, I0, x just before add_i I5 ..., it works.
18:58 kjs .. but that shouldn't matter, according to the spec anyway (pdd32)
19:00 whiteknight jashwanth: Now we need to add a test for dgetrf. Create a new test file dgetrf.t and add a new test for that function
19:00 whiteknight prove that it works and produces the correct values
19:01 jashwanth ok doing that
19:04 cotto kjs, no luck.  I'll give it another shot later today when there's less $dayjob to do.
19:05 kjs cotto: sure no problem, thanks
19:09 dalek parrot/implicit_c2str: 9c713a4 | jkeenan++ | config/gen/makefiles/root.in:
19:09 dalek parrot/implicit_c2str: Change the suffix rule for c2str to be a pattern rule.
19:09 dalek parrot/implicit_c2str: review: https://github.com/parrot/parrot/commit/9c713a4322
19:10 * Coke is happy to see GSOC work in channel.
19:12 jashwanth whiteknight, there NumMatrix2D looks like an object but how do I call this function in a test
19:12 whiteknight what do you mean?
19:13 jashwanth whiteknight, i.e the code written Double.winxed
19:13 whiteknight a test is just a program. You write code the same way in a test you would in a normal .winxed file
19:13 dalek mod_parrot: 795627b | (Bart Wiegmans)++ | / (8 files):
19:13 dalek mod_parrot: Somewhere intermediate for both error reporting and direct writing
19:13 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/795627bbe0
19:13 dalek mod_parrot: 8ab0012 | (Bart Wiegmans)++ | / (6 files):
19:13 dalek mod_parrot: Writing using NCI
19:13 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/8ab0012d8d
19:14 jashwanth ok here then I need to call the dgetrf function and then test the cases on it right
19:14 whiteknight yes
19:16 jashwanth whiteknight, https://github.com/jashwanth9/parrot-lap​ack/blob/master/src/LAPACK/Double.winxed
19:16 jashwanth almost a similar code like this but more prone to all the test cases right
19:16 whiteknight jashwanth: Do you have a build script yet?
19:17 whiteknight You can comple Double.winxed to .pbc, then load Double.pbc from your test and use it
19:18 jashwanth yes I think I saw the .pcb file of it generate
19:18 not_gerd left #parrot
19:18 whiteknight okay
19:18 jashwanth duke asked me to use this command "$load "./src/mat.pbc";"
19:18 whiteknight okay, then do that
19:19 jashwanth oh this is the other way of testing right
19:20 whiteknight yes
19:20 jashwanth but had a doubt in this way
19:20 whiteknight ok
19:20 jashwanth how do I cal or use this cone written in the other file
19:21 jashwanth *code
19:22 whiteknight Double.winxed probably needs to change
19:22 whiteknight You want it to be a library, not a program.
19:23 whiteknight programs have a main function. Libraries should use namespaces instead
19:27 jashwanth whiteknight, ok you want me to change the code on Double.winxed to something like the example on "http://whiteknight.github.com​/Rosella/winxed/examples.html"
19:28 brrt hey, is there a default builtin sub for reading a line in winxed?
19:29 whiteknight jashwanth: Factor out the logic to call dgetrf into a separate function so you can call it
19:29 travis-ci joined #parrot
19:29 travis-ci [travis-ci] parrot/parrot#436 (implicit_c2str - 9c713a4 : jkeenan): The build is pending.
19:29 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/5185a3a4f369...9c713a432265
19:29 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/1630405
19:29 travis-ci left #parrot
19:29 whiteknight brrt: Most handle types should have a .readline method
19:30 kid51 joined #parrot
19:31 brrt well, my question was actually aiming at something different :-)
19:31 brrt point in fact.. i want to know where read() requests are dispatched too, if they are objects
19:31 brrt s/oo/o/
19:31 brrt because print() and say() are dispatched to puts()
19:32 whiteknight read
19:32 brrt great :-)
19:32 whiteknight https://github.com/parrot/parro​t/blob/master/src/io/api.c#L473
19:32 whiteknight that's part of the mess I've been rewriting, but in master that's what it is
19:34 brrt .. i have some notion now :-)
19:34 brrt this is GREAT :-D i'm excited as... well
19:35 darbelo_ joined #parrot
19:35 whiteknight :)
19:38 brrt you know what would be even more awesome? an emacs mode for winxed
19:39 davidfetter joined #parrot
19:40 whiteknight brrt: You can put one together, if you've got the free time
19:40 brrt oh, but my emacs-lisp-fu is horriible
19:41 brrt i stil cannot read those regexpes
19:41 whiteknight heh
19:42 brrt maybe one day.. for now javascript-mode works nicely enough
19:43 whiteknight yeah, it should be similar enough
19:44 brrt winxed just has a /lot/ more syntax
19:46 whiteknight most of the time I've been able to copy javascript syntax highlighters and just add in a bunch of keywords
19:46 brrt hmm
19:46 brrt obviously an option
19:49 brrt anyway... who here has guessed why mod_parrots test system is in pudding?
19:52 whiteknight because yogurt was busy
19:52 whiteknight because Jell-o is too wiggly
19:54 darbelo joined #parrot
19:54 brrt because its where the proof is
19:54 brrt :-)
19:54 whiteknight heh
19:59 Coke brrt: *groan*
20:07 brrt well, i at least found it hilarious
20:18 brrt readall() seems to be special
20:19 brrt leave &
20:19 brrt left #parrot
20:21 whiteknight yes, "special"
20:21 kjs joined #parrot
21:50 patspam joined #parrot
22:03 pmichaud kid51++   # white camel award winner!
22:12 lucian joined #parrot
22:26 benabik white whatnow?
23:55 dduncan joined #parrot

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

Parrot | source cross referenced