Log of the #nice channel on irc.freenode.net

Using timezone: Central European Time
* arjanb leaves01:00
* alex-i joins06:49
* skew joins09:30
* alex-i leaves09:40
* arjanb joins10:50
* bonniot joins11:17
skew: is Nice working well under cygwin?12:19
<skew>it seems to work12:30
it won't build from source12:31
in particular, a little bit of hacking at the makefile was enough to build the javadocs
rather, was not enough12:32
I expected to find a copy online somewhere
<bonniot>javadocs for the source of the compiler, or the standard library?
<skew>I've been able to build and run programs starting from a binary distribution
I want javadocs for the standard library12:33
<bonniot>it's written in nice, so you'll want to use nicedoc instead
the output is not very practical to use at the moment though12:34
i hope it can be improved soon
you're aware that most classes come from the JDK, so you can use the usual javadocs for them12:35
<skew>yeah, I was mostly using the JDK docs12:36
but I was writing such tiny little programs I might as well have been using Java then12:37
The typesafe signatures for the collections seem particularly important
<bonniot>map, foreach?12:38
<skew>Yes, all the nice.collections stuff12:39
I just ran nicedoc again. After processing some files it dies on a FileNotFoundException for *1890982502.html in the directory where it is writing the documentation12:40
<bonniot>i think that was a bug that has been corrected12:41
you can download http://nice.sf.net/nice.jar and replace nice.jar in your current installation with it, you'll get the current version
<skew>that goes back to the build failing :(
I'll try that
<bonniot>that means you don't need to build12:42
that said, it would be interesting to see if we can get the build to work on cygwin
do you have any idea why it's failing?
<skew>now it can't find (NoClassDefFoundError) javacc, but I have grabbed javacc.jar, and the javacc script prints the correct path if I set top12:48
looks like it might be a problem in the command, because javacc runs fine if I set classpath to javacc.jar rather than the backtick expression in the makefile12:50
* ChanServ leaves
* ChanServ joins12:51
<bonniot>what does the output look like before the failure?12:52
<skew>which output?
Odd, setting the classpath to an absolute reference to javacc doesn't work, but a relative reference does12:53
the /cygdrive/c nonsense might be confusing the java interpreter12:54
<bonniot>yes, output of make
<skew>it looks fine, deleting a few things, moving dispatch.java to dispatch.java.bootstrap, deleting .class and .nicei files, and then it tries to run javacc12:57
<bonniot>can you copy paste the last lines?12:58
<skew>After testing the java interpreter (sun's) a bit more, it doesn't like absolute cygwin paths
looks like I can't paste easily13:01
make complete
make[1]: Entering directory `/home/jrpage/nice-0.9.8.orig'
rm -f src/nice/tools/compiler/console.jar
rm -rd classes classes-inline share/java src/bossa/parser/{Parse*.java,Token*.java,*CharStream.java}13:02
rm -f bin/{nicedoc,niceunit}
[ -r src/bossa/syntax/dispatch.java ] && mv src/bossa/syntax/dispatch.jar src/bossa/syntax/dispatch.java.bootstrap || true
find 13:03
find "/home/jrpage/nice-0.9.8.orig" \( -name "*.class" -o name "*.nicei" -o -name "*~" \) -exec rm {} \;
* ChanServ leaves13:04
* ChanServ joins
<skew>cd src/bossa/parser; CLASSPATH=`TOP=/home/jrpage/nice-0.9.8.orig /home/jrpage/nice-0.9.8.orig/external/javacc` \
java javacc Parser.jj
here Java complains:13:05
Exception in thread "main" java.lang.NoClassDefFoundError: javacc
and make concludes
make[1]: *** [src/bossa/parser/Parser.java] Error 113:06
make[1]: Leaving directory `/home/jrpage/nice-0.9.8.orig'
make: *** [src/nice/tools/compiler/console.jar] Error 2
<bonniot>ok, thanks
<skew>The issue here seems to be that java doesn't have a clue where to find cygwin's '/'13:07
relative paths work out fine
<skew>I don't see a quick way to switch over the makefile, though13:08
<bonniot>i'm not very familiar with cygwin, but I guess that's not surprising
isn't it that only binaries compiled on cygwin would work with those pathes?
<skew>maybe a wrapper script could translate
I doubt anything else would13:09
unless they try very hard to find your files
<bonniot>probably `javacc` could return a relative path13:10
i'm not sure why TOP is used there at all
btw, i'm surprised javacc is called that early in your run. do you have an old version of the CVS source?13:12
<skew>I think I've got the source from sourceforge13:16
I don't remember getting this from cvs13:17
<skew>more trouble: javac doesn't handle the {} substituions either13:18
<bonniot>it should be the shell doing it13:19
<skew>they seem to be making it to the command intact
I think executable built under cygwin are responsible for that stuff, for some reason13:20
* ChanServ leaves
* ChanServ joins
<skew>I think it's probably too much trouble to get this building under cygwin13:22
<bonniot>are you starting the make inside a cygwin shell or the windows one?13:23
<skew>a cygwin shell
<bonniot>arjan has a batch file to build under windows, only he keeps it secret ;-)
<skew>the windows shell breaks on the bash syntax, as expected13:25
I don't care too much about building, just gettin the docs
did you try with the newer nice.jar?13:26
<skew>now I get a java.lib.NoClassDefFoundError on nice/tools/doc/fun13:27
<bonniot>sorry, the batch files have changed in this version, so getting the nice.jar file is not sufficient13:28
in nicedoc.bat, you should change nice.tools.doc.fun to nice.tools.doc.dispatch
strange error, though, there might be something else going wrong13:30
strange because i jsut got the nice.jar file, and it does have nice/tools/doc/fun in it13:32
<skew>it doesn't work with dispatch either
<bonniot>what is the exact error?
<skew>I should see if it's even finding Nice.jar13:33
I think it's finding the right jar file13:34
nicedoc.bat, which does find the right jar file, now fails on a missing bossa.modules.Compilation.generate13:35
<bonniot>does jar tvf nice.jar | grep nice/tools/doc return something?
so did you change something?
<skew>yeah, I'm running nicedoc.bat instead of nicedoc13:36
the former checks some standard locations suitable for windows, so it actually finds nice.jar
it's very strange that it's missing this method though, since that class exists13:37
what's the type of memo x here?
<skew>sorry, talking about epigram elsewhere
i just tried
java -jar nice.jar --sourcepath ~/projets/Nice-CVS/stdlib/ -d doc nice.lang
with the nice.jar from the web and it works without problem
are you sure you are using the right nice.jar?13:39
sorry, that was not nicedoc...13:40
ok, i get the same error13:41
this automatically built nice.jar is made for testing and compiling, but it has a problem with nicedoc13:43
i'm going to upload a working version
<skew>anyway, documentation for stdlib should be posted somewhere13:44
<bonniot>yes. the point is I would like the output format to improve first
it's another developer working on nicedoc
<skew>it's probably already better than the source ;)13:45
<bonniot>ok, the current version should be OK now
make sure you don't hit a cache if you get it again
java -jar nice.jar --version13:46
Nice compiler version 0.9.9 (build 2004.09.07, 11:27:59 UTC)
<skew>It's a new time. --version is right too
now it makes some progress before dying on a bossa.modules.Exit exception. What do you see?13:47
I'll see how much output it finished
<bonniot>~/projets/Nice-CVS/bin/nicedoc --sourcepath ~/projets/Nice-CVS/stdlib/ --outdir doc nice.lang13:49
nice.lang: parsing
Package: nice.lang
what was the output?13:51
the stdout
<skew>a whole bunch of deprication warnings
use 'Type paramName' instead, on many lines of many files13:52
that would probably help. A lot of the notation is underspecified13:53
<bonniot>are you running it on old code?
<skew>that too13:54
not horribly old though, I grabbed it last night
I might have gotten old code, I suppose. I'm looking up instructions for getting new code
<bonniot>it cannot be last night's nice.lang, that has no deprecation warnings as far as I know13:55
last night is recent enough ;-)
<skew>it was 0.9.8 source, from the posted source distribution13:56
I'll try getting a copy from CVS
<bonniot>good idea13:57
0.9.8 might indeed have some older syntax
<skew>nicedoc runs fine. the documents are not linked together, though14:07
<bonniot>you mean the links are broken?
<skew>I got a "Class nice.lang.Index" where index.html at the root of the docs directory expected some sort of package index
<bonniot>that must be a case sensitivity issue14:08
<skew>possibly. the page for Stack has some <br/> tags showing in the output14:09
<bonniot>yes, here index.html is the index, and Index.html is for class Index
i just uploaded a new version since Frank has commited changes last night14:10
it probably fixes Stack, because I don't get that here14:11
<skew>well, I'm running nicedoc.bat out of the copy from CVS, and the only nice.jar on my system is the new one
<bonniot>(and it fixes the printing of polymorphic types)
<skew>I'm looking at the page in firefox, if the HTML is possibly ill-formed14:12
<bonniot>not, I uploaded one 2 minutes ago :-)
forefox, me too
<skew>a new Nice.jar?
<skew>this is pretty close. It looks like all the documentation build, I'm just missing the index14:16
are there any other packages I should look at, other than nice.lang?14:17
<CIA-2>03bonniot * 10tester/Project: Make sure nicedoc is usable in the development version
<bonniot>depends what you want to do
nice.functional might be intesting
nice.doc and nice.getopt are useful to build command line applications
it's quite a handicap not to have the index...14:19
<skew>I'm plotting how to use sed to globally rename Index14:21
<bonniot>in the source?
actually, just doing in slice.nice would probably suffice14:22
<bonniot>i can also fix nicedoc14:23
<skew>it would be nice if nicedoc made some sort of connection between methods and classes14:24
<CIA-2>03bonniot * 10Nice/src/nice/tools/doc/htmlwriter.nice: 14:31
Make sure we don't generate another index.html, as it would overwrite
the index (with care to case-insensitive filesystems).
<bonniot>ok, the new version should not screw up your index14:32
another bug doc comments of defaultmethodimplementations are lost14:41
<skew>is there any way I can build documentation for all these at once?14:43
well, I think I have documentation, but it looks like I need to fix up the top level index14:45
<bonniot>at the moment you can only specify a single package14:47
you could create a dummy one, importing those you are interested in
or you can simply browse the directories in the output14:48
<skew>I just added a few links to index.html14:50
why is the block syntax limited to functions of no arguments?15:06
<bonniot>you mean outside brackets?15:08
what syntax would you propose?
<skew>I think C# uses positions in the function call, with types and names15:21
that probably doesn't mix too well with actual arguments in the same place
ruby does it somehow
<bonniot>can you give an example?15:24
i don't see what in C# you are referring to
<skew>I think they are called delegates15:29
The lambda syntax already covers that, I suppose. Why the special case for void arguments, then?15:30
<bonniot>which special case?15:32
there is foo(...) { ... }15:34
in some circumstances it's more elegant than foo(..., ()=> { ... }) don't you think?
the => syntax is the general one15:35
can you do that in C# ?
<skew>I don't know. The ruby and C# things let you get that effect as long as the closure is only used in the function you pass it to15:36
I'm not too familiar with either language, but I think these blocks are first class is Ruby, and not in C#
they are approximately lamabda functions anyways, possibly with some irritating restrictions15:41
<bonniot>there is no restriction in Nice
does that answer your question?15:46
<skew>I already knew about the lambdas. It just seems odd to make the block syntax just for the special case of no arguments16:10
when is that useful?
one argument is good for iterating over containers and such, but void arguments seems to only allow you to repeat an action some number of times
<bonniot>or to do it once, but only if a certain condition is met16:15
in general, it's useful to write control-like operators in a library
for instance, 'using' is implemented like that16:16
<skew>it amounts to a "do-n-times" operator
<bonniot>not only
'using' is about structure
<skew>what is a Disposable?16:21
<bonniot>abstract interface Disposable
void dispose();
so it's any type that has a dispose method16:22
<skew>where is that declared? nicedoc missed it if it's in nice.{lang,functional,doc.getopt}
maybe it's ignoring abstract interfaces16:23
it's interesting for your to see the implementation anyway :-)
* CIA-2 leaves16:40
* CIA-7 joins16:41
* skew leaves16:48
* CIA-7 leaves17:14
* CIA-9 joins
* CIA-9 leaves17:47
* CIA-7 joins17:52
* CIA-7 leaves
* CIA-7 joins17:57
03bonniot * 10Nice/stdlib/nice/lang/java.nice: Array.equals accepts null arguments.18:46
* CIA-7 leaves18:51
* CIA-2 joins
03bonniot * 10Nice/stdlib/nice/lang/using.nice: Simplified test using Array.equals.19:25
<bonniot>arjan, why didn't you remove the gnu.math sources?19:27
<arjanb>i'm not sure if you want to update the gnu.* packages sometime and they don't get included in the jar anyway19:29
<bonniot>other gnu packages can be updated even is gnu.math is not there19:31
and it's in the CVS history anyway
it's just not useful to have the sources checked out atm
<CIA-2>03arjanb * 10Nice/src/gnu/math/ (26 files): Removed gnu.math files.19:43
<bonniot>the files in CVS-upstream can also be removed19:56
<CIA-2>03arjanb * 10Nice/src/gnu/math/CVS-upstream/ (Entries Repository Root): Removed gnu.math files.20:10
* CIA-2 leaves22:22
* CIA-2 joins22:23
* CIA-2 leaves
* CIA-2 joins
<bonniot>good night23:04
* bonniot leaves
* arjanb leaves23:31

Generated by Sualtam