Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 12 June 2012.
dalek rrot/whiteknight/io_cleanup1: eca5d48 | Whiteknight++ | / (2 files):
Fix Socket.get_bool. Remove a readline test from t/pmc/socket.t which was absolutely not doing the right thing.
00:07
rrot/whiteknight/io_cleanup1: 9aeede6 | Whiteknight++ | / (4 files):
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.
whiteknight blah, the socket tests are hanging and I don't know why 00:08
It does not appear to me that they are doing anything different from what they are doing before
00:11 Khisanth joined 00:42 TonyC joined 00:49 nopaste joined
dalek rrot/whiteknight/io_cleanup1: 82035c2 | Whiteknight++ | / (6 files):
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
whiteknight blah, these socket tests are annoying the heck out of me 00:59
recv() is hanging on the client. I'm not sure what's the holdup on the server
recv() may be hanging there too
whatever. goodnight 01:07
01:45 kid51 joined
dalek : c217bf3 | jimmy++ | src/gencode.c:
fixed segfault
02:31
: 047b18e | jimmy++ | / (2 files):
changed unuse_reg to free_reg and use_reg to alloc_reg
02:37 crab2313 joined 04:37 Chin joined 04:45 Chin left 05:32 rurban joined 05:51 dduncan joined 05:53 dduncan left 06:05 crab2313 joined 06:32 birdwindupbird joined 08:03 kjs joined 08:10 lucian joined 08:11 brrt joined 08:57 kjs joined
dalek d_parrot: f95fa2f | (Bart Wiegmans)++ | / (6 files):
Add ParrotLanguage option based on suffix
10:00
: 959bd8d | kjs++ | src/ (3 files):
updates to multidimensional array handling.
10:26
10:27 JimmyZ joined
JimmyZ hello kjs 10:27
kjs hi Jimmy 10:28
hi JimmyZ :-)
JimmyZ kjs: did you see this gist? gist.github.com/2581153 10:30
kjs JimmyZ: nope. thanks for pointer, i'll have a look 10:31
JimmyZ ;)
10:34 brrt left
kjs JimmyZ: I agree with cotto that we shouldn't have ops (yet!) for calling conventions 10:34
for m0cc :-)
then we'll fall into the same trap as with PIR
and I don't like macros so I dont want to implement them in M1 :-) 10:35
JimmyZ kjs: I agreed with cotto too. 10:36
kjs I like the idea of an M0 debugger. 10:37
that would be VERY handy to have now we're running into problems with calling and returning values
JimmyZ kjs: nbrown had a debugger, but not complete 10:38
kjs is it checked in?
JimmyZ kjs: github.com/parrot/parrot/tree/m0-debugger 10:39
kjs JimmyZ: have you tried that? 10:40
JimmyZ kjs: cotto++ tried it 10:41
kjs: I didn't
kjs JimmyZ: I'll try it over the weekend. 10:42
JimmyZ: t-a-w.blogspot.ie/2007/03/how-to-co...ggers.html
JimmyZ kjs: nice article 10:43
kjs: m0-debugger doesn't use ptrace 10:45
kjs no i just realized that probably doesnt make much sense
basically you need an M0 interpreter but one that stops after each step, and be able to print what's in the registers.
step = instruction
JimmyZ aye 10:46
kjs well from the list of M0 testing todo: the recursively doing something thing can be checked off :-) 10:50
JimmyZ yeah, M1 have fib! 10:52
kjs and fact 10:53
JimmyZ :) 10:57
dalek : c359637 | kjs++ | / (2 files):
add jimmy++ to credits. Add a few notes to pddxx_m1 so these wont be forgotten.
11:13
11:53 schm00ster joined 12:12 whiteknight joined
whiteknight good morning, #parrot 12:14
12:22 kid51 joined 12:32 bluescreen joined 12:45 crab2313 joined 12:52 kjs joined 12:59 bluescreen joined 13:10 Psyche^ joined 13:25 estrabd joined 13:26 kid51 joined 13:52 dmalcolm joined 13:59 kid51 joined
dalek kudo/nom: a2bacb6 | duff++ | CREDITS:
update to github username
14:15
14:19 PacoAir joined 14:39 brrt joined
dalek : bafb467 | kjs++ | src/ (4 files):
add code for bitwise not operator (~). M0 needs support.
14:39
14:44 dduncan joined 14:51 jashwanth joined
jashwanth Hello dukeleto 14:53
15:13 whiteknight joined
whiteknight good morning, #parrot 15:13
brrt good afternoon, whiteknight 15:15
whiteknight hello brrt, how are things going today?
brrt pretty well, except for the rain :-) 15:16
i've added two new configuration options
i'm in the process of adding real error reporting (i.e., to the apache logs) 15:17
how are things going with you? 15:18
dukeleto jashwanth: howdy 15:19
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:27
15:34 brrt1 joined 15:36 brambles joined 15:42 brambles_ joined 15:53 mtk joined 15:54 jashwanth joined 15:56 darbelo joined 15:58 kid51 joined
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:10
whiteknight load_bytecode 16:12
brrt1 lets see 16:13
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.
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
jashwanth: i saw the code you wrote, nice progress!
whiteknight dukeleto: It should, I thought
maybe that's the new variant
or maybe it returns null
I can't remember
brrt it works, it sems
dukeleto jashwanth: what is the current error that you are running into? 16:16
jashwanth dukeleto:whiteknight helped me to fix it 16:17
dukeleto:github.com/jashwanth9/parrot-lapac...mat.winxed
dukeleto whiteknight++
jashwanth: firstly, we need to create a file with tests for the dgetrf function 16:18
jashwanth: it should be called t/winxed/dgetrf.t
jashwanth dukeleto:ok 16:19
brrt oh, how i do love not having implemented error reporting properly
jashwanth dukeleto:so basically what should the test to
dukeleto jashwanth: the test uses the implementation (mat.winxed) to do a computation, and then it verifies the correct thing happened 16:20
jashwanth: are you familiar with what dgetrf does, i.e. LU factorization ? 16:21
jashwanth yes
dukeleto, yea I am
16:21 zby_home joined 16:22 mtk joined
dukeleto jashwanth: basically, we want to run the dgetrf function, get the return values and make sure they look correct. 16:22
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
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
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
jashwanth: yes, verify that as well. Basically, don't believe anything and check as much as you can :) 16:24
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
jashwanth dukeleto: I think I get it so you want me to double check the result right
dukeleto jashwanth: yes. writing tests is like "double checking" that what you wanted to happen actually happened :) 16:25
jashwanth: since I am a mathematician, i like to think of tests as the proof that your code works
jashwanth: tests are not quite mathematical proofs, but they are the closest we can get when writing code 16:26
jashwanth: make sense?
16:28 jashwanth_ joined
dukeleto jashwanth_: howdwy 16:29
jashwanth_: your test will look very similar to github.com/letolabs/parrot-libgit2...001_load.t
jashwanth_: so you can copy that file and modify it to use parrot-lapack and call the dgetrf function 16:30
jashwanth_: one of your tests should be that info==0
16:33 jashwanth joined
jashwanth dukeleto: yes I got it 16:33
dukeleto jashwanth: we also need to think of how we want to organize these functions
jashwanth dukeleto: I was wondering about that today 16:34
16:35 darbelo joined
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:35
dukeleto jashwanth: let's do the simplest possible thing 16:36
jashwanth: give the DGETRF a 1x1 identity matrix
jashwanth dukeleto:but when I checked the result it seens to be doing a colomn exchanges
dukeleto jashwanth: then L=I, U=I, where I = "the 1x1 identity matrix"
jashwanth 1 sec
dukeleto jashwanth: hmmm. there may be a mixup where somethig is in row-major form but something else expect column-major 16:37
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
jashwanth dukeleto: am doing that 16:38
dukeleto jashwanth: awesome
jashwanth: your test will look like this: self.assert.equal(info,0); 16:39
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)
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
jashwanth: much of your gsoc project will be writing those test files :)
moritz it's funny how key words like "row-major" instantly remind me of my bad old days of mixing C++ with FORTRAN code :-)
dukeleto jashwanth: and documentation :)
moritz: yeah, it gives me flashbacks to linear algebra and the DIMENSION THEOREM (dun dun DUN!) 16:41
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
dukeleto, how do i get a pbc bytecode file from a *.winxed 16:43
dukeleto reads some FORTRAN
jashwanth dukeleto, I didnt get that
dukeleto jashwanth: $load "./src/mat.pbc" 16:44
jashwanth dukeleto, I ment how do I generate such a file mat.pbc
dukeleto jashwanth: the *.pbc files are generated when you type "winxed setup.winxed build" 16:45
jashwanth: but, for that to work, you need to move mat.winxed to ./src/LAPACK
16:45 darbelo joined
dukeleto jashwanth: git mv mat.winxed src/LAPACK 16:46
jashwanth: git add src/LAPACK/mat.winxed
jashwanth: git commit -m "move mat.winxed to the correct directory"
jashwanth: please do that right now and then do: git push origin master
jashwanth dukeleto, so basically I need to run the setup.winxed file to check if the test file works am i right 16:47
dukeleto jashwanth: winxed setup.winxed test # this runs the tests 16:48
jashwanth ok 16:49
dukeleto jashwanth: winxed setup.winxed build # this builds the *.pbc files and anything else
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'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
"
dukeleto, I got that when I did git push 16:52
dukeleto jashwanth: yes, type "git pull origin master" first
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
jashwanth: git works very hard to make sure you don't lose data
jashwanth: what happens after you type "git pull origin master" ?
jashwanth dukeleto, remote: Counting objects: 11, done. 16:54
remote: Compressing objects: 100% (7/7), done.
remote: Total 9 (delta 6), reused 5 (delta 2)
Unpacking objects: 100% (9/9), done.
From github.com:jashwanth9/parrot-lapack
* branch master -> FETCH_HEAD
Auto-merging src/LAPACK/mat.winxed
CONFLICT (content): Merge conflict in src/LAPACK/mat.winxed
Automatic merge failed; fix conflicts and then commit the result.
dukeleto jashwanth: yay, your first merge conflict :)
jashwanth: this means you need to open src/LAPACK/mat.winxed in your editor and fix the conflict 16:55
jashwanth: are you pushing to your github repo from multiple computers? I am wondering why you are getting conflicts from your own repo
jashwanth: have you ever fixed a merge conflict with git before?
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
dukeleto jashwanth: if you want, paste the entire file on gist.github.com/ and then paste the gist link in here
jashwanth: ok.
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
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
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
jashwanth: it sounds a lot worse than it actually is :)
jashwanth: you should see some lines like ====, <<<<, >>>>
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
Coke loves having beyond compare tied into tortoisegit so I can use the GUI to resolve those. ;)
dukeleto jashwanth: ok, gist the file and I can help
jashwanth: also, you should read this page later to get some background on how this all works: git-scm.com/book/ch3-2.html 17:00
jashwanth dukeleto, ok the original code file right
dukeleto Coke: mergetool is a lovely thing
jashwanth dukeleto, thanks for that
dukeleto++
dukeleto, gist.github.com/2937581 17:01
dukeleto, do you want me to give u the file with >>>>>>> ===== one 17:02
dukeleto jashwanth: not really, it seems that you removed them already :) 17:04
jashwanth: does the file still work? Can you run it? i.e. make sure you didn't introduce a syntax error
jashwanth dukeleto, I had am other copy thsi is the original file
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
dukeleto jashwanth: and to finish telling it you fixed the conflict, make the commit: git commit -m "fix merge conflict"
jashwanth: awesome!
jashwanth dukeleto, gist.github.com/2937601 the file where merge comflict occered 17:06
dukeleto jashwanth: ok. once you commit the fix, do this: git push origin master 17:09
jashwanth: and let me know when you do it :)
jashwanth dukeleto, ok
17:10 kid51 joined
jashwanth dukeleto, ok done 17:11
dukeleto, should I send u a pull request 17:12
dukeleto jashwanth: not yet :) 17:15
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, github.com/jashwanth9/parrot-lapac...mat.winxed
dukeleto, so change the file name to ....
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
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"
jashwanth: yes, I see your changes :)
jashwanth: once you do the above commands, run "winxed setup.winxed build" and gist the output 17:18
jashwanth dukeleto, ok
dukeleto, but there is already a Common.winxed file in theis directory 17:19
dalek : a6fe3e4 | kjs++ | src/gencode.c:
add more explanation for code generation on multidimensional arrays.
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
jashwanth: i am trying to minimize your work :)
jashwanth: setup.winxed assumes it is called Common.winxed right now 17:23
jashwanth but there is already a file named with that 17:24
dukeleto, it says "fatal: destination exists, source=src/LAPACK/mat.winxed, destination=src/LAPACK/Common.winxed"
dukeleto jashwanth: ah! My mistake 17:25
jashwanth dukeleto, so should I delete that file
dukeleto jashwanth: ok, lets call the file Double.winxed, for LAPACK function which operate on doubles
jashwanth: no, don't delete it. It will be useful
jashwanth dukeleto, ok
dukeleto jashwanth: git mv mat.winxed Double.winxed
jashwanth dukeleto, I will call it
dukeleto, ok done 17:27
dukeleto jashwanth: ok, do a "git push" too 17:28
jashwanth: i just made this commit: github.com/leto/parrot-lapack/comm...bad1b081d8
dalek : c689da2 | kjs++ | src/gencode.c:
fixed rows and columns mixup in doc. add a bit of code.
jashwanth dukeleto, ok then now this doule name is also accepted 17:29
dukeleto jashwanth: ok, get ready to learn some more Git!
jashwanth dukeleto, to get that file should I download that file
dukeleto jashwanth: no, we have Git to do that :)
jashwanth dukeleto, ok am ready
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 github.com/perl6/mu/blob/master/mi...k-push.txt for instructions
dukeleto jashwanth: that tells your Git repo how to talk to my git repo
moritz: just did, before you asked :)
moritz++ for suggesting, though :)
jashwanth: then type: git fetch --all
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
jashwanth: what happens when you type "git fetch --all" ? 17:32
jashwanth dukeleto, it did fetch some stuff 17:33
dukeleto, from "From git://github.com/leto/parrot-lapack" 17:34
17:34 lucian joined
dukeleto jashwanth: yay! 17:36
jashwanth: ok, now type: git merge upstream/master
jashwanth dukeleto, done
dukeleto jashwanth: if everything works, then you will have my latest commit in your local git repo 17:37
cotto ~~
dukeleto jashwanth: do you see my commit when you type "git log -p" ?
cotto: mornin'
17:37 not_gerd joined
not_gerd hello, #parrot 17:38
dukeleto cotto: how do you feel about implementing bitwise NOT in M0 as two's complement minus 1?
jashwanth dukeleto, I think I do
dukeleto cotto: should bitwise NOT be an M0 op ? kjs wants it in m1
jashwanth: awesome! 17:39
jashwanth: what happens when you type: "winxed setup.winxed build; winxed setup.winxed test"
cotto: github.com/parrot/parrot/issues/793
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
cotto dukeleto, looking
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
jashwanth dukeleto, yes I do partially now
dukeleto, gist.github.com/2937779
I need to make the changes where there is >>> with === ones right 17:42
cotto hio kjs
17:43 bluescreen joined
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
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?
jashwanth: aha! That makes more sense. I was wondering if there was 2 of you or something :) 17:45
jashwanth dukeleto,:D
dukeleto, no did not till now
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
jashwanth: ok, go and create the file. You are making good progress. Keep it up! 17:46
msg whiteknight do you know what is up with this? gist.github.com/2937779
aloha OK. I'll deliver the message.
jashwanth dukeleto, thanks for the help
dukeleto jashwanth: you learned a lot about Git today. Reward yourself :)
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.
jashwanth: that is what mentors are for :)
cotto kjs, did you see dukeleto's suggestion about binary NOT in m0? github.com/parrot/parrot/issues/793
jashwanth dukeleto, morning was wondering how I would be integrating all this and how others would be using my code 17:48
17:48 mtk0 joined
dukeleto jashwanth: that will become clear soon enough :) 17:51
jashwanth: concentrate on making small improvements every day
cotto: how is startup life?
cotto: what are you coding in?
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
whiteknight dukeleto: I haven't touched Rosella in a few weeks. I'll stare at it tonight
dukeleto jashwanth: just don't let errors stop you. Keep going. Make something work.
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
jashwanth: :)
jashwanth: once you get a few tests written, everything will make a lot more sens
sense
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?
cotto dukeleto, crazy with a capital k
whiteknight I have no idea. I doubt it
dukeleto cotto: sounds about right.
cotto I'm hacking on some drupal code
it doesn't help that everyone else is a git newbie 17:55
jashwanth dukeleto, morning was wondering why and how will my project help the community but now makes some sense to me 17:56
cotto A startup seems to be a device that converts money into panic. 17:58
jashwanth cotto, did you refer that to me 17:59
cotto jashwanth, sorry. talking with dukeleto
jashwanth cotto, sorry there is nothing like that 18:00
cotto, :)
kjs hi cotto 18:01
dukeleto cotto: well, this might be a good time to mention that I am looking for work and that I do git consulting ;) 18:02
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
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 :)
cotto also interesting 18:05
whiteknight dukeleto: Go on kickstarter. See if people will pay you to work on parrot fulltime for a while
dukeleto cotto: the startup I was working at wasn't treating me right, so I decided to walk away.
whiteknight: not a bad idea.
whiteknight: or maybe petridish.org
whiteknight sure, whichever. I'm not sure the venue matters so much 18:06
dukeleto whiteknight: have you seen try.haxe.org ? 18:09
whiteknight no sir
looks fantastic
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
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
whiteknight If we get working security contexts going, a timeout would be a great setting
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
dukeleto +1 to setting a timeout on child interps
whiteknight this kind of thing would work extremely well with threads 18:12
(I haven't seen nine in a few days. I may merge threads without him at some point)
jashwanth dukeleto, ur test is to test about the git right 18:18
benabik ~~
18:20 rich joined
jashwanth dukeleto, can you help me with the start of it 18:20
18:20 brrt joined 18:23 contingencyplan joined
jashwanth whiteknight, dukeleto was telling me to write a test was wondering with the starting of it could you help 18:27
whiteknight sure. Did he give you any direction about what libraries to use? 18:28
or, did the repo he set up have any test examples? 18:29
...it doesn't look like it
jashwanth no none but he gave me some example 18:30
github.com/letolabs/parrot-libgit2...001_load.t
whiteknight ah, okay. So he's using Rosella. Good
18:31 kid51 joined
jashwanth he told me to write a simple test for an Identity matrix first of order 1x1 18:32
whiteknight gist.github.com/2938052
that's a skeleton file to use
Every function in the MyTests class is a test
Every test passes unless something goes wrong 18:33
jashwanth ok
got that part
whiteknight okay, good 18:34
jashwanth I think that errors of the files I encountered while installing PLA was some test function failure right
whiteknight In that first_test() method, create a new NumMatrix2D, 1x1 as an identity matrix
Then you can do tests by writing assertions 18:35
self.assert.equal(x.rows, 1); self.assert.equal(x.cols, 1);
self.assert.equal(x[0, 0], 1);
and that's your first test 18:36
kid51 Does anyone know what $< would mean in a shell or Makefile context?
Examples:
vi +685 config/gen/makefiles/root.in 18:37
jashwanth ok doing that
not_gerd kid51: first prerequisite
useful for stuff like: %.o : %.c ; $(CC) -c $< 18:38
18:38 patspam joined
kid51 Is it doing something like xargs? 18:38
not_gerd kid51: it's Makefile syntax
kid51 Ah! I thought it was shell. 18:39
And I couldn't find anything about that.
18:39 patspam joined
kid51 patspam++ for the link 18:40
jashwanth whiteknight, $load "rosella/test.pbc"; 18:44
$load "./src/mat.pbc";
class MyTests {
var identity_matrix=new NumMatrix2D;
identity_matrix.initialize_from_args(1,1,
1.0);
function first_test() {
self.assert.equal(x.rows, 1);
self.assert.equal(x.cols, 1);
self.assert.equal(x[0, 0], 1);
}
function main[main](var args) {
using Rosella.Test.test;
test(class MyTests);
}
whiteknight, sorry my mistake
dalek : 94fedf2 | kjs++ | src/gencode.c:
more work on multidimensional arrays.
brrt jashwanth: pastebin :-)
jashwanth brrt, what is that I could not get it 18:46
cotto aloha, nopaste?
aloha cotto: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
jashwanth whiteknight, gist.github.com/2938111 18:47
whiteknight that code has to appear inside the function 18:48
jashwanth oh
gist.github.com/2938111 18:49
whiteknight you have to rename "x" in the assertion calls
you used the variable name identity_matrix
jashwanth oh me bad 18:50
done with that now how do I do the checking of this test 18:51
whiteknight run it like a normal .winxed file
jashwanth ok 18:52
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 nopaste.snit.ch/144102 18:53
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:54
cotto looking 18:55
brrt i have a commit pending that is teh awesome 18:56
i am excited!
jashwanth whiteknight, gist.github.com/2938111
whiteknight okay. Test runs. All tests pass 18:57
Add that file to git and push it.
jashwanth ok will do that 18:58
kjs cotto: when inserting a line set I5, I0, x just before add_i I5 ..., it works.
.. but that shouldn't matter, according to the spec anyway (pdd32)
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
prove that it works and produces the correct values
jashwanth ok doing that 19:01
cotto kjs, no luck. I'll give it another shot later today when there's less $dayjob to do. 19:04
kjs cotto: sure no problem, thanks 19:05
dalek rrot/implicit_c2str: 9c713a4 | jkeenan++ | config/gen/makefiles/root.in:
Change the suffix rule for c2str to be a pattern rule.
19:09
Coke is happy to see GSOC work in channel. 19:10
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?
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
dalek d_parrot: 795627b | (Bart Wiegmans)++ | / (8 files):
Somewhere intermediate for both error reporting and direct writing
d_parrot: 8ab0012 | (Bart Wiegmans)++ | / (6 files):
Writing using NCI
jashwanth ok here then I need to call the dgetrf function and then test the cases on it right 19:14
whiteknight yes
jashwanth whiteknight, github.com/jashwanth9/parrot-lapac...ble.winxed 19:16
almost a similar code like this but more prone to all the test cases right
whiteknight jashwanth: Do you have a build script yet?
You can comple Double.winxed to .pbc, then load Double.pbc from your test and use it 19:17
jashwanth yes I think I saw the .pcb file of it generate 19:18
19:18 not_gerd left
whiteknight okay 19:18
jashwanth duke asked me to use this command "$load "./src/mat.pbc";"
whiteknight okay, then do that
jashwanth oh this is the other way of testing right 19:19
whiteknight yes 19:20
jashwanth but had a doubt in this way
whiteknight ok
jashwanth how do I cal or use this cone written in the other file
*code 19:21
whiteknight Double.winxed probably needs to change 19:22
You want it to be a library, not a program.
programs have a main function. Libraries should use namespaces instead 19:23
jashwanth whiteknight, ok you want me to change the code on Double.winxed to something like the example on "whiteknight.github.com/Rosella/winx...ples.html" 19:27
brrt hey, is there a default builtin sub for reading a line in winxed? 19:28
whiteknight jashwanth: Factor out the logic to call dgetrf into a separate function so you can call it 19:29
19:29 travis-ci joined
travis-ci [travis-ci] parrot/parrot#436 (implicit_c2str - 9c713a4 : jkeenan): The build is pending. 19:29
[travis-ci] Change view : github.com/parrot/parrot/compare/5...713a432265
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1630405
19:29 travis-ci left
whiteknight brrt: Most handle types should have a .readline method 19:29
19:30 kid51 joined
brrt well, my question was actually aiming at something different :-) 19:31
point in fact.. i want to know where read() requests are dispatched too, if they are objects
s/oo/o/
because print() and say() are dispatched to puts()
whiteknight read 19:32
brrt great :-)
whiteknight github.com/parrot/parrot/blob/mast...api.c#L473
that's part of the mess I've been rewriting, but in master that's what it is
brrt .. i have some notion now :-) 19:34
this is GREAT :-D i'm excited as... well
19:35 darbelo_ joined
whiteknight :) 19:35
brrt you know what would be even more awesome? an emacs mode for winxed 19:38
19:39 davidfetter joined
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
i stil cannot read those regexpes 19:41
whiteknight heh
brrt maybe one day.. for now javascript-mode works nicely enough 19:42
whiteknight yeah, it should be similar enough 19:43
brrt winxed just has a /lot/ more syntax 19:44
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
obviously an option
anyway... who here has guessed why mod_parrots test system is in pudding? 19:49
whiteknight because yogurt was busy 19:52
because Jell-o is too wiggly
19:54 darbelo joined
brrt because its where the proof is 19:54
:-)
whiteknight heh
Coke brrt: *groan* 19:59
brrt well, i at least found it hilarious 20:07
readall() seems to be special 20:18
leave & 20:19
20:19 brrt left
whiteknight yes, "special" 20:21
20:21 kjs joined 21:50 patspam joined
pmichaud kid51++ # white camel award winner! 22:03
22:12 lucian joined
benabik white whatnow? 22:26
23:55 dduncan joined