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

Using timezone: Central European Time
* falconair joins00:53
* markha joins10:47
falconair, you know if any work has been done on Nice lately?10:48
* DRMacIver joins11:16
* DRMacIver waves to markha (assuming you're who I think you are)
<markha>hi DRMacIver11:20
it's 04:20 here, so I'll be nodding of for a bit real soon
<DRMacIver>Ah. Probably a good plan. :)11:23
It's 10:20 here, so I won't. (Although it still sounds like a good idea. Fridays, bleh.)
<markha>have you hacked on nice at all?11:24
i guess i can chat for a bit
<DRMacIver>Not yet, no. I'm still at the figuring out what I'm doing stage.11:25
<markha>I hear you
<DRMacIver>(I've just sent you an email giving a little more detail if you haven't seen it yet)
<markha>i'll check
read it. i agree with regards to the licensing. I can "deal" with gpl+exceptions, but it's not quite ideal. I don't think anybody is going to "steal" nice for "evil" proprietary plans, but who am i to question a developer. Who knows, maybe Daniel would change his portion to BSD. The one thing I've never got a straight answer on is the Bossa code. I'm not sure if that even has the linking exception, but would that get thrown out if 11:29
so you're going for your phd? what's your field of study?11:30
that compiler modules idea sounds really cool11:31
and i guess i need to check out the mailing list more often, since the forums are typically dead or spam-filled11:32
<DRMacIver>The mailing list is only fractionally less dead.
But it's not spammed.
I agree that GPL + exceptions is non ideal.11:33
BSD is my strongly preferred favourite with Apache a close second.
<markha>it's actually better than lgpl, but yes, non-ideal
yes, philosophically, i'm not a big gpl fan
<DRMacIver>My intended field of study is something in language and compiler design.11:36
<DRMacIver>I'm currently interested in JVM targetted languages, but that's mainly because I code Java for a living and don't want to give up access to the huge body of useful code. :)
<markha>i have a bachelors in MIS, but I'm thinking about going back to get a masters in comp. scie
<DRMacIver>None of the universities I'm applying to do much with the JVM, so that's probably going to have to change.
<markha>i hear you
<DRMacIver>(I've since discovered that Cornell is doing some cool stuff with the JVM, but alas discovered this two days before sending off my applications. :) )11:38
<markha>the clr seems to have more cool languages, like Boo, F#, Nemerle, IronPython.
are you in the UK?
But I'm applying to the states.
<markha>yeah, i read your blog while tracking you down
<DRMacIver>The blog is really rather dead. :) 11:39
I'm just not doing much maths or exciting cooking at the moment, which rules out posting to either blogs.
<markha>heh, you like cooking? So do I. Well, I like eating more:), but I like watching Iron Chef
yeah, i came across one of your math pages. way over my head11:40
<DRMacIver>I wouldn't worry about it. Most of it is stuff that even 90% of pure mathematicians find boring. :)11:41
* DRMacIver has odd interests
<markha>no, math is cool, i just never got around to studying much of it
can you go into compiler modules a little more? or do you have a link or two? i understand the concept, i was just interested in some more details11:43
I guess I need to look up hadrian
<DRMacIver>I don't have a great deal of information on them to be honest. Think of it as an advanced macro system. :)11:44
<DRMacIver>Basically it's a way of specifying a syntax extension to the language and how it will compile down to core Nice.
<markha>i'm familiar with Lisp and nemerle macros
or common lisp rather11:45
<DRMacIver>It's not quite the same thing.
Lisp has its own source code as data.
<DRMacIver>This is going to be much less powerful I'm afraid. :)11:46
But it's also going to be more approachable and easier to use.
<markha>have you seen Nemerle's macro system?
<DRMacIver>And leaves the option of adding bracket escape semantics like MetaML's to Nice, which is something I'd like to have a go at eventually
I'm not familiar with Nemerle.
<markha>nemerle.org. nice language for the CLR. doesn't have builtin multimethods, but I think they can fake them at least with multimethods and some latebindng macros11:47
rather fake them with macros rather
uhhg, i'm played :)
<DRMacIver>Hm. Looks neat.
I'm not a huge .NET fan to be honest though.
(I like the languages on it, but the framework doesn't do much for me)11:48
<markha>I prefer the CLR and the variety of languages more than the JVM, but the JVM is more open...better tools...
<DRMacIver>It's the better tools that sell me on it.
I'm apathetic towards virtual machines in general. If I were to move away from the JVM it would probably be more in the direction of languages compiled to native code.11:49
<markha>yeah, i love eclipse and the whole plugin ecosystem around it
same here. I'd rather just compile the runtime into an .exe. deployment has always been one of my interests too11:50
I think you should email Daniel and ask him about relicensing. since you're a phd candidate, with plans for nice, he'll consider you the real deal and be more likely to consider it11:53
<DRMacIver>I'll probably do that when I have a better idea of what I'm doing and I'm getting to the stage where the license is actually blocking.11:54
* DRMacIver will have a better case then. :)
i guess i'll crash for a bit. i'll leave the irc client running, so if you want to tell me anything just post it, or email. by the way, the channel is logged, so hopefully daniel checks them every once in a while11:58
<DRMacIver>ok. Sleep well. :)
* bonniot joins14:47
* DRMacIver leaves15:48
* DRMacIver joins15:53
<markha>uhg. i hate it when you feel like crap and can't sleep15:55
so once again, i'm back on the foobar sleeping schedule15:56
<DRMacIver>My sympathies. Insomnia sucks. 16:02
<markha>yeah, haven't been feeling all that hot past couple days16:03
<DRMacIver>It's that time of year. :-/
Ill, or just tired?
<markha>not feeling that great16:04
<markha>i sent you mail16:07
<DRMacIver>Ah, so I see.16:09
bonniot: markha and I were wondering what your thoughts were on releasing Nice under a more permissive license. Are you completely against it?16:14
what kind of license are you thinking of?
<markha>hi daniel
<bonniot>and what would you need that's not allowed at the moment?16:16
<DRMacIver>bonniot: Ideally BSD or Apache, linking exception would be nice.
even linking exceptions on the GPL would be nice I mean
I'm tinkering with some ideas where it would be really useful to bundle some portion of the compiler with a program.
<bonniot>there is the exception on the libraries already (which is obviously the minimum)16:17
<markha>Daniel, does the linking exception cover the entire nice jar. i thought the bossa stuff got compiled in too, and that wasn't covered under the linking exception?
<DRMacIver>Yeah, but I'd need more than the libraries. I'm playing with some notions for compiling and loading new classes at runtime.
<bonniot>i guess it would not be a big problem to extend the exception to the whole compiler
<markha>even with linking exception, gpl can sometimes be problematic16:18
<bonniot>i understand this usage makes sense
<DRMacIver>They're in no way inextricably tied with Nice, but it's currently my favourite JVM targetted language so I thought it would be a good candidate
<markha>i don't think anybody is going to "rip off" Nice. Look at Scala or Nemerle
<bonniot>what about them?
<markha>in fact, I think a more liberal license might be more attractive
<DRMacIver>(The GPL is a slightly insane language anyway, but that's a separate argument. :) )
<markha>they're under BSD
and nobody is hijacking them
<DRMacIver>Out of curiousity, what was the reasoning for the choice of GPL?16:19
<bonniot>what would be the pb with GPL + exception?
<DRMacIver>I wouldn't have any real issues with GPL + exception.
I'm just naturally inclined to more permissive licenses. :)
<bonniot>ok :-)
<markha>i wasn't sure if everything that is compiled in to the nice jar is actually linking exception
<bonniot>i know, at some point it gets philosophical ;-)
<bonniot>it surely should be
* DRMacIver has no interest in forcing his views onto Nice, except where it impacts me practically. :)
markha: As far as I know, none of the bossa stuff gets compiled into the Jar does it?
<markha>the thing about the gpl is that some people and organizations are wary of it. the language of the GPL is not exactly clear. the linking exception clears quite a bit up, and is actually better suited than lgpl
<bonniot>right, we should stay practical
bossa and nice are the same thing16:21
<DRMacIver>Yeah, I know.
<bonniot>bossa was just a temporary name
<DRMacIver>I was just referring to the package name
(Which still seems to be there)
And confused me a lot at first, as there's an entirely separate java project called Bossa. :)
<bonniot>right, the name is still used
<markha>is bossa just the code-emitter?16:22
what i'm thinking about is the compiler/parser api for IDE integration
is that covered under linking exception?
<bonniot>it is not at the moment
but that's why i agree it would be simpler to extend the linking exception to everything16:23
<markha>and as DRMacIver said, I respect a developer's pesonal license choice. as developers we don't want people pushing us
<bonniot>i'll do a release with the exception everywhere16:24
is it urgent?
<markha>no, i don't think so
<DRMacIver>Nope, not here.16:25
<markha>DRMacIver: maybe you can bounce some ideas off of Daniel16:26
have you guys met before?
<bonniot>so what are you using nice for?
<DRMacIver>At the moment I'm just playing with it to be honest.
<markha>i want something better than java.. hehe
<bonniot>good idea :-)16:27
<DRMacIver>But I've had some fun compiler related ideas I wanted to try out, and the Nice compiler seemed like a good candidate to tinker with. :)
* DRMacIver is planning to see if he can modularise the compiler in such a way as to make macro style language extensions easy.
<bonniot>what kind of ideas?
<markha>i don't have the technical chops as of now to work on internals. i'd probably be interested in working on a eclipse plugin
<bonniot>wow, both would be very interesting
i definitely support the idea of modularity in the compiler
and multi-methods really help for that
<DRMacIver>There's a nice Java dynamic parser called Hadrian that seems an ideal candidate, so I thought I'd start by replacing the javacc generated parser with that.
<markha>multi-methods rock
<bonniot>you might already have seen that most operators are actually defined as special "macros" methods in nice.lang16:29
<DRMacIver>I think I've noticed some of that, yes. I'm still not very on top of the compiler I have to admit.16:30
Figuring that out will be half the work
<bonniot>so almost everything is a method call as far as typing is concerned16:31
then the classes defining each macro take care of code generation
it's not really designed for end-user macro writing yet, though
but it does simplify the compiler16:32
<DRMacIver>Yeah, and hopefully it should make a lot of the process much easier from my perspective. :)16:35
<DRMacIver>I don't know quite how the modules will be implemented yet. I suspect it won't just be possible to declare macros inline in the main code for a while.16:36
It's currently very much in planning rather than implementing. :)
<bonniot>that's fine. keep me informed and don't hesitate to ask for help or information16:37
<DRMacIver>Thanks. It's appreciated.
<bonniot>i've been hopelessly unavailable for nice, but hopefully it will be better next year16:38
<DRMacIver>How many people develop Nice other than you?
Or is it just you? :)
(If so, I'm very impressed)
<bonniot>it's mostly me, but there has been one regular contributor (arjan), and several who contributed bits now and then, mostly libraries16:39
<markha>daniel, i'll go ahead and file a bug report, but you can check out this compiler error if you want http://paste.lisp.org/display/32504. this was from trying to build the eclipse plugin
<bonniot>isn't there a bit missing here? :16:43
method getValue.()Ljava/lang/
<markha>oops /lang/Object16:45
nicec was built using a release java 6 release candidate, so...
<bonniot>yes, would be interesting to see if that matters16:46
<markha>and compiler version 0.9.11 prelease
<bonniot>1.4 would be extra safe
as well as updating the license, i'll make sure all is ok with java 6
<markha>wasn't there an issue with compiling with 1.5 straight out of cvs?16:49
* CIA-2 leaves
<bonniot>yes, but that has been fixed afaik
<markha>i think it was in the forum help section
oh, ok
<bonniot>so there should be a closed bug report about that16:50
<DRMacIver>I ran into problems compiling straight out of CVS, but that was because I was bootstrapping off an old version of the nice compiler
Didn't have any problems once I fixed that (in particular I was still using java 1.5)
<bonniot>where did you have the old compiler from?16:51
<markha>i thought it had something to do with java 5 generics
but i can't remember exactly
<DRMacIver>bonniot: Gentoo's portage.16:52
* CIA-2 joins
<bonniot>it's not up to date there?
<markha>man, reading the mailing list from sourceforge sucks
<DRMacIver>Seems to be version 0.9.9
I couldn't find what the latest version was on the homepage, but switching it with the nice-current.jar fixed the problem16:53
So I assume it was an out of dateness issue.
(The compiler worked fine on all the test code I wrote)
Oh, another thing. Nice seems to lack java's keywords for multithreaded code (synchronized, volatile, etc). Any fundamental impediments to adding them? (This isn't so much a feature request as "It would be nice at some point and if it's not hard I might look into it once I have a better idea what's going on." :) ) 16:56
<bonniot>there is synchronized, but only at the block level, not for methods16:57
<DRMacIver>Ah ha. I see.
<bonniot>volatile might be missing indeed16:58
that's for fields, right?
<bonniot>should not be very hard to add...
<DRMacIver>It says "Don't cache local copies of this variable."
<bonniot>ah good way to jump into the code ;-)
Good point.16:59
How does the block level synchronization work? I didn't see any documentation on that when I searched.
<bonniot>that means it's like in java
synchronized(object) { ... }17:00
<DRMacIver>Ah, right.
* DRMacIver actually forgot you could do it that way in java. :)
I normally just use it on methods17:01
s/forgot/probably didn't know/
<bonniot>it's more fine-grained, which can sometimes be important to avoid deadlocks
and improve parallelism17:02
<markha>daniel, so i guess you got your phd? i was reading a post of yours from november of '05, where you were going to give your dissertation
<bonniot>yes, i got it!
<markha>wow, i feel like an idiot. we got dr. bonniot here, and DRMacIver is going to get his phd soon. i'm sitting here with my cheesy bachelors ;)
or start his phd program rather
<DRMacIver>Don't count my chickens before they've hatched please. :)17:04
* DRMacIver only sent off his applications on monday!
(Which, as I mentioned to mark, actually featured Nice quite prominently. :) )17:06
<markha>i guess i should re-bootrstrap everything17:07
<DRMacIver>Basically I needed a subject to talk about in the personal statement to demonstrate that I actually knew what I was doing.
(I haven't got a computer science degree and I'm applying for a computer science PhD...)
<markha>DRMacIver: what was your masters in?17:08
heh, reading my mind
<DRMacIver>And this modular compiler idea was a useful talking point
markha: Pure and applied maths theoretically.
But really mostly pure maths.
<markha>just provide a link to the alien hieroglyphics on your math blog to where you're applying to:)17:10
<DRMacIver>Ha ha
Well I don't have any difficulty demonstrating that I'm really on top of my mathematics. :)
<markha>no doubt:)
i guess i'll try to go to sleep again. talk to you guys later17:12
<DRMacIver>ok. Sleep well.17:13
* markha leaves18:56
* markha joins
* markha leaves19:07
* markha joins
* bonniot leaves19:40
* bonniot joins19:50
* CIA-2 leaves20:36
* CIA-2 joins
* CIA-2 leaves21:21
* CIA-2 joins21:43
* bonniot leaves22:33
* bonniot joins22:43
* CIA-2 leaves22:51
* CIA-2 joins
* bonniot leaves23:15

Generated by Sualtam