00:06:10 -!- GregorR-L has joined.
00:13:46 -!- Sgep has quit (Remote closed the connection).
02:07:06 -!- GregorR-L has quit (Read error: 113 (No route to host)).
02:33:39 -!- Sgep has joined.
02:54:14 -!- calamari has joined.
03:06:14 -!- kipple has quit (Read error: 110 (Connection timed out)).
03:11:17 -!- cmeme has quit (brown.freenode.net irc.freenode.net).
03:11:34 -!- ineiros has quit (brown.freenode.net irc.freenode.net).
03:12:30 -!- cmeme has joined.
03:14:47 -!- ineiros has joined.
03:15:28 <GregorR> I've been considering designing a non-esoteric language.
03:15:47 <GregorR> But I know I'm too lazy to follow through.
03:17:39 -!- ineiros has quit (brown.freenode.net irc.freenode.net).
03:17:39 -!- fizzie_ has quit (brown.freenode.net irc.freenode.net).
03:17:40 -!- cmeme has quit (brown.freenode.net irc.freenode.net).
03:17:40 -!- puzzlet_ has quit (brown.freenode.net irc.freenode.net).
03:25:59 <calamari> GregorR: did you have something in mind?
03:28:31 <calamari> i.e. oo, procedural, functional, your own twisted design?
03:34:57 -!- fizzie_ has joined.
03:41:47 -!- ineiros has joined.
03:41:54 -!- cmeme has joined.
03:41:54 -!- puzzlet_ has joined.
03:41:59 -!- cmeme has quit ("Client terminated by server").
03:42:02 -!- cmeme has joined.
03:52:17 <GregorR> calamari: OO and procedural both as options.
03:52:46 <GregorR> Everything is an object (as in ruby), and generic operator overloading is supported.
03:53:00 <calamari> GregorR: cool.. will it be run on a vm or compiled natively?
03:53:07 <GregorR> It would be nice to do both :)
03:53:30 <GregorR> Since it's never going to happen, I can just say whatever I want ;)
03:54:17 <GregorR> That's the obvious cheat to avoid actually compiling :P
03:55:27 <calamari> and it can optimize for you so you don't have to deal with it
03:56:19 <calamari> hmm .. I wonder if someone did that for java
03:56:42 <GregorR> Main tenants: 1) Dynamic typing (templates, etc, are unnecessary, because a list of ints is just a list of "things" with ints in it)
03:56:55 <GregorR> 2) Pass-by-reference in all cases
03:57:15 <GregorR> 3) Objects have a reference count and delete themselves when that gets to 0 (garbage collection)
03:57:25 * calamari notes that Microsoft QuickBasic was pass by reference
03:57:27 <GregorR> 4) I'll never get around to writing it, so I can say whatever I want
03:57:46 <GregorR> Wasn't QB was "all-global-variables" :P
03:58:02 <calamari> gw-basic was.. and line numbers, etc
03:58:05 * GregorR notes that Java is pass-by-reference.
03:58:43 <calamari> but qb had functions that didn't share the same variables..
03:59:20 <GregorR> Umm, lesse: Like many scripted languages, variables are in a separated namespace ($blah is a variable)
04:00:10 <calamari> you mean blah$ like lin basic ;) hehehe
04:01:16 <GregorR> Does this look terrible to you? $a = [100...2]
04:01:39 <GregorR> Make a an array with the values from 100 to 2
04:02:05 <GregorR> Because I separated the variable namespace ...
04:02:24 <GregorR> The name of a random variable :p
04:02:29 <GregorR> $a, $b, $c are all valid variable names.
04:02:56 <GregorR> "blah" would be referring to a function or a class.
04:03:31 <GregorR> OK, more C/C++/Java-like :P
04:04:36 <calamari> hmm.. C++ is the only oo lang I know of that compiles natively, except gcj hacks
04:06:46 <GregorR> I'm not sure what point you were trying to make with the C++ point.
04:07:03 <calamari> oh, that I can't think of other oo examples to compare against
04:07:19 <calamari> I'm not particularly fond of C++, but I haven't used it much
04:07:39 <GregorR> Java = slightly less evil :P
04:08:30 <GregorR> Oh, other points I wanted to make:
04:08:35 <calamari> C# less so than Java because it's trying to copy without copying hehe
04:08:42 <GregorR> Support for threading, mutexes and semaphores is built in ...
04:08:55 <GregorR> Support for networking is built in as well.
04:09:56 <calamari> did you see the Glass -> Java translator the other day?
04:10:30 <GregorR> It wasn't complete was it?
04:10:34 <GregorR> I thought it was in-progress.
04:11:09 <calamari> looks good except change . to + :)
04:11:36 <GregorR> Hmm, I like the .-style of string concatenation.
04:11:43 <GregorR> So as to not confuse it with adding.
04:11:46 <GregorR> But then, I guess it is adding ...
04:12:59 <GregorR> That's a tough decision ...
04:13:12 <calamari> don't do the lame interface thing :)
04:14:39 <calamari> since it's imaginary, might as well make it good
04:14:42 <GregorR> Part of my dynamic typing idea is that if you had a variable a with a List in it, and called length(), then later did the same thing but this time the variable a has a Que in it, it would still work.
04:14:55 <GregorR> So interfaces are unnecessary.
04:15:02 <GregorR> Unfortunately, that makes compilation really difficult ;)
04:16:00 * calamari scrolls back.. garbage collection. good
04:16:28 <GregorR> Garbage collection is easy compared to this level of dynamic typing.
04:16:42 <calamari> I don't think I understand the dyn typing yet
04:16:53 <GregorR> Well, the only type of variable is a "var"
04:17:05 <GregorR> No ints, floats, Lists or Ques per se.
04:17:19 <GregorR> In fact, let me post a segment of code.
04:20:56 <calamari> new List.. so if a function doesn't take args you don't require ()
04:21:13 <GregorR> Umm, "new List" isn't a function per-se.
04:21:25 <calamari> isn't it calling a constructor
04:21:35 <GregorR> And if the constructor took args, you'd put ()s there.
04:21:41 <GregorR> But in general you need ()s for functions ...
04:21:46 <GregorR> Maybe I'm being dumb there ...
04:21:57 <GregorR> No, I think it makes sense.
04:22:09 <GregorR> The call to the constructor is implicit, not explicit. What you're really doing is making a new List.
04:22:17 <calamari> well, List() would work too, right?
04:23:19 <calamari> Could do the same with functions to keep things consistent
04:23:38 <GregorR> In my mind, I'm still trying to reconcile a way to make functional programming possible.
04:23:58 <calamari> well I'm calling it a function.. it'd be a method
04:24:25 <GregorR> If you don't have ()s on functions, the line is blurred horribly between variables and functions.
04:24:52 <calamari> I think you'd run into the same thing on classes
04:24:52 <GregorR> In fact, irrecoverably, not almost.
04:25:05 <GregorR> Well, the class name as a standalone token has no meaning.
04:25:18 <GregorR> It's only meaningful after the keywords "new" or "class"
04:25:39 <GregorR> (Since variables aren't typed)
04:26:59 <GregorR> I always misspell Queue XD
04:27:15 <GregorR> It's like bananananananananana
04:28:14 <calamari> actually, would it be a bad thing to blur variables and functions?
04:28:22 <calamari> you could pass a variable or pass a function
04:29:03 <GregorR> Passing a function would be nice ...
04:29:19 <GregorR> But that goes back to my original thing of () vs no (). You would pass a function by not putting a () on it.
04:29:45 <calamari> right but then whats wrong with a = myFunction
04:29:56 <GregorR> Nothing - so long as that doesn't call myFunction.
04:30:03 <GregorR> In fact, I like that - so long as it doesn't call myFunction.
04:30:10 <calamari> actually that'd make sense as a function pointer
04:31:56 <calamari> you can still have real functions by saying func(tion) rather than method
04:32:21 <calamari> it'd be like public static in java
04:33:10 <GregorR> I would rather /not/ make a big distinction between functions and methods.
04:33:19 <GregorR> (/me writes a snippet of code)
04:34:06 <GregorR> Lemme backtrack for a sec.
04:34:13 <GregorR> Should constructors be named the same as the function?
04:34:27 <GregorR> Or something more meaningful, like "Cons"
04:34:35 <calamari> well the default one should be at least, so you could nest new calls
04:35:17 <GregorR> That has nothing to do with the name of the constructor ...
04:35:50 <GregorR> The name of the constructor is totally arbitrary, I just don't really like that it's always named after the class, seems like a more descriptive name would be better.
04:35:58 <calamari> yeah I always thought using the name of the class was a little clinky
04:37:10 <calamari> public () { ... } .. seems obfuscated
04:37:34 <GregorR> Yeah, I'm doing public the java way.
04:37:45 <GregorR> Not sure what you just said :P
04:38:20 <calamari> (java for a moment) public class A { public A() { } }
04:38:30 <calamari> vs public class A { public () { } }
04:38:46 <GregorR> http://pastebin.ca/27570 < how does this look to you?
04:38:49 <calamari> just seeing what it would look liek with no label
04:39:16 <GregorR> Heheh, borrowed C++ style class definitions :P
04:39:21 <GregorR> Don't like Java-style inline definitions.
04:39:33 <calamari> what is it equivalent to in Java ?
04:40:09 <calamari> if you're going to say func.. say class too hehe
04:41:28 <calamari> I think it's appropriate that the class encloses all its methods
04:41:33 <GregorR> Oh, that codes a bit funky, wait.
04:43:03 <calamari> is it a c++ thing to move the methods outside the class and use :: ?
04:43:26 <GregorR> Because the class definition just tells you information about the class.
04:43:28 -!- Sgep has quit (Read error: 104 (Connection reset by peer)).
04:43:53 <calamari> but a class encloses the methods it contains, so it seems nice to show that
04:44:10 <calamari> how does c++ handle nested classes ?
04:44:12 <GregorR> Anybody else present to tie-break?
04:44:23 <GregorR> Hmm ... does C++ support subclasses?
04:44:57 <calamari> in Java/C# it's as simple as aanother class definition nested inside the parent
04:45:31 <GregorR> And on the one hand I like it, and on the other hand I don't.
04:45:57 <calamari> I really only use them when coding Swing
04:46:09 <calamari> because of all the event handling
04:46:39 <GregorR> OK, yes, it supports nested classes.
04:46:47 <GregorR> And it's simply SuperClass::SubClass::Function
04:47:14 <GregorR> I /STILL/ find it better to have the class declaration function-content-free.
04:47:57 <GregorR> Merely so that you can look at the top of a file and see all the interfaces to your class, instantly.
04:48:04 <GregorR> Without needing to dig around the functions.
04:56:55 <calamari> GregorR: you should do it your way since it's your lang ;)
04:57:10 <calamari> I find SuperClass::SubClass::Function hard to understand tho hehe
04:57:31 <calamari> and it's all imaginary anyways so who cares ;)
04:57:39 <GregorR> Which is why I want a tie-breaker :-P
04:58:45 -!- calaptop has joined.
04:59:12 -!- calaptop has quit (Client Quit).
05:00:40 <calamari> where do you put class variables.. just anywhere outside a method?
05:02:00 <GregorR> Forgot I was in Dvorak :-P
05:02:02 <calamari> nm.. thought I had something but it was bad
05:02:39 <GregorR> Anyway, yeah, class variables just go in the class.
05:03:19 <GregorR> Thats what constructors are for ...
05:03:42 <calamari> but if its a private constructor
05:05:02 <GregorR> http://pastebin.ca/27572 < Break this tie!
05:05:12 <calamari> 2) control contruction of your class.. you can have them call a method and it can return a new instance or an old one, or even null if it wants to
05:05:37 <calamari> I think it's called the singleton pattern
05:06:04 <GregorR> I don't see how it would be useful :P
05:06:17 <GregorR> Do C++ and Java support private constructors?
05:06:20 <lament> it's like having a constant.
05:07:21 <calamari> GregorR: look up singleton and factory design patterns
05:10:38 <calamari> how does c++ do abstract classes
05:11:12 <GregorR> It's really unintuitive >_>
05:12:16 <GregorR> Really, abstract classes and interfaces in C++ are just classes with functions defined to nothing.
05:12:24 <GregorR> Then you subclass them and define those classes.
05:13:08 <calamari> I remember when I was first trying to learn oo programming, someone was trying to show me c++, but it really confused me.. Java seemed to make sense automatically. So it could just be different ways our brains folded hehe
05:13:57 * GregorR finally sort of figured out what private constructors are for.
05:14:59 <lament> c++ and java are not all that different
05:15:11 <GregorR> It's mostly syntactic sugar.
05:15:39 <calamari> Java has a great class library
05:16:52 <GregorR> You know, I still don't see anything that a singleton class can do that you can't do less obtusely by other means.
05:18:27 <GregorR> Having this bizarre class with a static member of its own type and a private constructor ... yukk.
05:19:04 <GregorR> How about a means of producing singleton classes that isn't so obtuse?
05:20:02 <calamari> or just skip the whole oo thing ;)
05:20:22 <GregorR> Really, I guess, if you're using a singleton class, it's hardly even OO :P
05:20:33 <GregorR> It's more like a namespace than a class.
05:22:53 <GregorR> calamari: Let's cooperate on the construction of the compiler - and since I don't and won't write Java, and you don't and won't write C++, we can write it in Perl ;)
05:23:41 <calamari> I have the feeling that would degenerate into a perl golf
05:24:38 <calamari> btw I would write C++, I just don't know it..
05:25:22 <calamari> I used to be a language snob, then I realized how much I liked Java and had to give up
05:25:45 <GregorR> What language were you snobby towards?
05:26:10 <calamari> and anything that wasn't compiled generally
05:26:41 <calamari> I wrote programs in asm rather than dos batch files
05:27:35 <calamari> I still can't quite shake the same feeling when watching linux boot up.. too many scripts
05:27:36 <GregorR> So you mean anything that /was/ compiled?
05:28:15 <GregorR> I think we have reverse definitions of "snobby towards"
05:28:23 <GregorR> Since it's a meaningless phrase.
05:29:12 <calamari> I have a poor vocabulary... just one of those things
05:30:00 <calamari> so you never have to worry about me running for a public office
05:30:37 -!- Arrogant has joined.
05:30:38 <calamari> hmm but there's bush.. blows away that theory
05:31:09 <GregorR> calamariI have a poor vocabulary... just one of those things
05:31:11 <GregorR> calamariso you never have to worry about me running for a public office
05:31:26 <GregorR> Arrogant: Tie-break this: http://pastebin.ca/27572
05:31:48 <Arrogant> Hell, the people like idiots because they can feel they're on the same level
05:32:17 <calamari> actually as president you just need to be good at reading what someone else wrote hehe
05:32:35 <calamari> not likethey write their own speeches
05:33:08 <Arrogant> GregorR: I nest functions in the class definition
05:33:17 <Arrogant> It's something I picked up from Python
05:33:32 <Arrogant> Javascript doesn't let you do it at all
05:33:52 <GregorR> Thanks - trying to write a non-obfuscated language :P
05:35:17 <GregorR> Trying to strike a nice balance between C++ and Java and others.
05:35:30 <GregorR> And also be dynamically typed.
05:35:51 <Arrogant> I don't see a need for public and private data
05:36:13 <GregorR> Arrogant's opinion no longer matters :P
05:36:39 <GregorR> The division between public and private data is as old as programming itself!
05:36:56 <Arrogant> War is as old as civilization itself
05:37:28 <Arrogant> Give me a good reason that you'd want it.
05:37:47 <GregorR> It's mostly to keep programmers from being idiots XD
05:38:00 <Arrogant> Programmers will find other ways to be idiots
05:38:19 <Arrogant> You're just putting up a safety fence
05:40:14 <calamari> then down with the public private
05:40:20 <GregorR> Err, wait, I totally f'd up that code.
05:40:23 <GregorR> Ignore that previous link.
05:41:25 <GregorR> (Also I took out public/private)
05:41:35 <GregorR> Oh wait, I failed to take out public/private XD
05:41:41 <GregorR> Ignore the word "private" in there ;)
05:42:43 <Arrogant> http://livelogix.net/tom/blog/?p=20#more-20
05:42:54 <Arrogant> Although it's got an obvious syntax problem it's got potential
05:43:22 <Arrogant> (It uses <- for return, what's to keep <- x from being < -x
05:44:43 <GregorR> I barely condone breaking at all :P
05:46:05 <GregorR> However, a function ought to have multiple exit points, but (IMHO), a loop ought not to.
05:46:21 <GregorR> A function should give back its results whenever they become available. A loop ... isn't a function.
05:46:24 <calamari> although I have to say that I don't miss goto much in Java.
05:46:35 <Arrogant> A function doesn't have to be special.
05:47:08 <GregorR> Regardless of syntax, loops are not functions. Even if they were syntactically the same, loops are still not conceptually functions.
05:47:22 <GregorR> That being said, I break now and then myself ;)
05:47:35 <Arrogant> They're blocks that operate in a special way.
05:47:39 <calamari> I think I continue more than I break
05:47:40 <Arrogant> A function is also a block that operates in a special way.
05:47:57 <Arrogant> The article seeks to unite them
05:48:23 <Arrogant> Logix is a really cool project but it's not going anywhere. There are some really good ideas in there though
06:04:43 <lament> they're like functions, but they're loops!
06:05:51 <Arrogant> Too bad most languages suck at tail-calling
06:07:18 <lament> s/languages/implementations
06:16:05 <GregorR> http://www.bash.org/?60297
06:28:09 -!- calamari has quit ("Leaving").
06:50:53 -!- Arrogant2 has joined.
06:51:59 -!- Arrogant2 has left (?).
07:01:13 -!- Blonde_19 has joined.
07:01:18 -!- Blonde_19 has left (?).
07:06:21 <Arrogant> damn we totally missed some good cybering there
07:06:25 <GregorR> That was almost suggestive of female-ness ...
07:07:26 -!- GregorR has changed nick to Blonde_19.
07:08:41 <Blonde_19> http://images.google.com/imgres?imgurl=http://free-sex-pictures-gallery.org/gallery/teen/1013.jpg&imgrefurl=http://free-sex-pictures-gallery.org/gallery/teen/&h=700&w=525&sz=24&tbnid=AfkJCM11d3IJ:&tbnh=138&tbnw=103&hl=en&start=1&prev=/images%3Fq%3Dnude%26svnum%3D10%26hl%3Den%26lr%3D%26safe%3Doff%26client%3Dfirefox-a%26rls%3Dorg.mozilla:en-US:official%26sa%3DN (NSFW)
07:09:03 <Blonde_19> http://images.google.com/images?q=tbn:AfkJCM11d3IJ:free-sex-pictures-gallery.org/gallery/teen/1013.jpg rather XD
07:09:41 <Blonde_19> Damn, wasn't paying attn to detail.
07:09:53 <Blonde_19> http://images.google.com/images?q=tbn:m5LDc0ylbIcJ:www.nudistpicturegallery.com/thin_blonde_woman_nude.jpg
07:10:52 <Blonde_19> What does that have to do with cybering :P
07:10:54 -!- Blonde_19 has changed nick to GregorR.
07:11:54 <Arrogant> Really though. How hard would it be to make downloads that you could pause and resume over sessions
07:12:00 <Arrogant> You can already pause them in the middle of a session
07:12:51 <GregorR> Yeah, something like getright would be a welcome addition.
07:13:46 <Arrogant> Something like GetRight without the crap that comes with GetRight
07:15:01 <Arrogant> HydraIRC is alright but it lacks scripting
07:15:10 <Arrogant> But it's scripting is Javascript
07:15:18 <Arrogant> mIRC has scripting but it also sucks
07:15:30 <GregorR> Javascript is not nice :-P
07:15:44 <Arrogant> But it is better than mIRC's sorry excuse
07:15:58 <GregorR> How about I write an IRC client scriptable in Glass? :)
07:16:37 <Arrogant> But sucks in almost every other way
07:16:54 <Arrogant> It's alright for Linux but the Windows port...
07:21:07 <Arrogant> I'll probably drag my PC over to a friends house and do a full apt-get upgrade
07:39:28 <Arrogant> You know, with Firefox 2, Chatzilla will have Python scripting.
07:42:56 <GregorR> With that, it's time for me to sleep :-P
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:25 -!- Arrogant has quit (Read error: 104 (Connection reset by peer)).
09:08:34 -!- kipple has joined.
09:12:15 -!- lindi- has joined.
09:12:28 -!- lindi- has left (?).
09:46:33 -!- kipple has left (?).
12:52:42 -!- Keymaker has joined.
13:12:07 <Keymaker> Arrogant: use opera, opera's download manager is pretty good
13:52:31 -!- jix has joined.
13:55:09 <Keymaker> anyways, it's time for me to go.. bbl.
13:55:13 -!- Keymaker has quit ("This quote is unrelated to this context.").
14:24:18 -!- calamari has joined.
14:33:17 <jix> moin calamari
14:35:51 <jix> i have much spare time now => developing bfgentext
16:00:48 -!- Keymaker has joined.
17:04:34 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
17:21:27 -!- jix has joined.
18:25:42 -!- Keymaker has quit ("This quote is unrelated to this context.").
19:26:59 -!- fizzie_ has changed nick to fizzie.
20:49:24 -!- calamari has quit ("Leaving").
21:20:19 -!- Sgep has joined.
21:21:54 -!- Sgep has quit (Remote closed the connection).
21:23:20 -!- Sgep has joined.
21:55:43 -!- calamari has joined.
22:12:39 * jix is learning a lot about c++ and stl
22:13:04 <jix> bfgentext is a good project to learn how to do things in c++
22:17:15 <calamari> lament: c++ is an esoteric language ;)
22:17:45 <jix> because i need high speed
22:18:14 <jix> i implemented the thing in ruby to check if it works.. now i'm reimplementing it in c++ to make it fast enough
22:22:38 <calamari> what does it find for the hello world test
22:23:08 <jix> i'm still doing the rhs no lhs yet
23:17:56 <GregorR> jix ... come to the dark side ... use C++ >: )
23:18:06 <GregorR> (That's how I got 'im to use C++)
23:31:56 -!- Sgep has quit.
23:56:52 <jix> !bf8 >>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.<+++++++++++++++.<++++++++++.