<tsume>
I think I'll work on writing an extension for WideStudio(the better toolkit , also licensed non-viral)
<humasect>
:D
<tsume>
its also more portable, probgably even more than Tk
<tsume>
I don't think Tk runs on BTRON and friends, I could be wrong though.
araujo has quit ["Leaving"]
<humasect>
hmm interesting. i have not seen this before
<tsume>
humasect: seen what?
<tsume>
/whois humasect
<tsume>
humasect: heh, you are away :(
zzorn_afk has quit ["Does the world turn, while I sleep?"]
<humasect>
sorry. i was referring to WideStudio
<tsume>
humasect: I emailed Hirabashi-san to see what I need to do for ocaml bindings
<humasect>
excellent
<tsume>
*Hirabayashi-san
<tsume>
its a nice toolkit, if people would help expand it, it could be better
<tsume>
I need to complete the freetype2 patchset.
<humasect>
o_o.. i will need to evaluate WideStudio
<tsume>
its quite interesting, its written in C++. Most of the comments were stripped out unfortuantely or Hirabayashi-san has another method for commenting his code.
<tsume>
UTF8 in code woul make the sources even bigger.
<humasect>
perhaps supporting localized languages
<tsume>
*would
* humasect
nod
<tsume>
it does
<humasect>
->his source tol
<humasect>
*tool. =(
<tsume>
theres a English button on the webpage if you can't read Japanese ;)
<tsume>
oh, heh
<humasect>
oh, i thought it was using my locale =)
<tsume>
humasect: hmm?
<humasect>
i didn't know the web site was actually japanese originally. like SourceForge, i thought it had accustomed
<humasect>
assumed
<humasect>
there are bindings for other languages, it should be straightforward
<tsume>
yes, it should be.
<tsume>
he was actually paid to see how good it would take him to write it in a short time period :)
<tsume>
*how good it would be in a short time period
<tsume>
you see.. everyone else is wasting thier time reinventing the wheel, widestudio has been there for years, people are stupid and wish to troll all over it because it isn't pretty like gtk
<tsume>
its a excellent toolkit
<tsume>
it has everything built in
<humasect>
i am very curious, and awaiting the download now
<humasect>
aka. Troll Tech =)
<tsume>
and even has udp/tcp services from client and server to special remote access widgets
<tsume>
humasect: hehe, good one.
<humasect>
hmm. =)
<tsume>
I like the non-gui widgets it has
Nutssh has joined #ocaml
<humasect>
still when i see the term "applications" - i think GUI, event loop, and menus
<humasect>
by automatic
<tsume>
where you see that?
<humasect>
"WideStudio for Applications"
<tsume>
oh, heh
<tsume>
it has its own IDE gui designer
<humasect>
the term is butchered to not mean "the application of [technology,services,nado]"
<tsume>
it generates the GUI code automatically
<humasect>
yup. of course
<tsume>
humasect: how long have you used ocaml?
<humasect>
a few months
<tsume>
have you learned the langauge completely?
<humasect>
(equiv. to year+)
<humasect>
not the library, no
<humasect>
(but i guess no one really has..)
<tsume>
what about the syntax, you know everything? ;)
<humasect>
maybe there are surprises i haven't found
<tsume>
thikn ocaml could be used for serious commercial work?
<Riastradh>
Why not?
<tsume>
Riastradh: okay then, why couldn't it be used for commercial work?
<Riastradh>
That was my question.
<tsume>
I'm asking the questions here ;)
<tsume>
what are the pitfalls and fallicies of Ocaml?
<Riastradh>
OCaml doesn't have as much library support as the main stream, its REPL is pretty lame compared with any real Lisp environment, there are some badly designed warts of extensions to the language, it offers some fairly dangerous functionality like Obj.magic...
<tsume>
Riastradh: thats it?
<Riastradh>
That's all that immediately comes to mind.
<tsume>
Riastradh: how long have you used Ocaml?
<Riastradh>
I don't use OCaml much, but I was first introduced to it several years ago.
<tsume>
some dangerous functionality is okay.
<Riastradh>
The OCaml compiler isn't very effective.
<tsume>
Riastradh: are you mlton patriot as well? 8)
<Riastradh>
No.
<Riastradh>
MLton is a much better compiler, but I don't use either ML much.
<tsume>
mlton isn't really good because it doesn't focus platform support
<tsume>
at least ocaml does
<tsume>
if they don't want to build native support for windows, they are no better off then Sun. Creating a java port for windows, sparc, and linux, but for body else
<Riastradh>
Well, I don't care much about Windows, so I don't really notice issues of portability to it.
<letaris>
hahahaha
<letaris>
that is one way of putting it
<letaris>
honestly, if microsoft would just implement fork and signals it would make life so much easier
<letaris>
buuuut noooooooo
<tsume>
Riastradh: what langauge have you found to be perfect? ;)
<Riastradh>
I prefer Scheme.
tea has quit ["using sirc version 2.211+KSIRC/1.3.10"]
mattam has quit [Read error: 110 (Connection timed out)]
<lucca>
hm, scheme has an otherworldly beauty to it
<tsume>
hehe.. Riastradh why scheme?
<lucca>
parenthesis fetish
<tsume>
hah
<tsume>
how is scheme faster than ocaml?
<Riastradh>
Scheme is a much simpler & more elegant language with better development environments.
<Riastradh>
There exists at least one compiler (perhaps several) that is much better than OCaml's: Stalin.
<lucca>
scheme is an elegant tool for a civilized age...
<lucca>
Even INRIA has done some good work with scheme; take a look at Bigloo
<letaris>
but its much harder on the programmer because it has no type checking facilities
<tsume>
Riastradh: I don't carte about elegant. I care about speed, bytecodeand native code
<letaris>
you can pass literally anything to anything else
<Riastradh>
I don't consider Bigloo a very good Scheme implementation.
<tsume>
and safety
<lucca>
it has type checking facilities, but not mandatory compiletime checking like you want
<Riastradh>
It generates great code for certain types of programs -- programs written in a style closer to C++ than Scheme.
<letaris>
without mandatory type checking, how can I trust any library I want to use?
<Riastradh>
letaris, no type checking facilities? That's quite wrong.
<letaris>
at run time, yes, but nothing enforces the type contract at compile time
<Riastradh>
First of all, the type system is indeed safe. It's not like C, where type coercion can generate dangerous pointers.
<letaris>
Riastradh, but it is safe at run time
<Riastradh>
Correct.
<letaris>
NOT at compile time
<Riastradh>
Also, any serious Scheme compiler statically analyzes a program's types.
<letaris>
so you never know about a type error that you've made until you excercise the code that uses it
<Riastradh>
Even some very lame Scheme compilers perform some sort of static type analysis, such as Scheme48's.
<letaris>
however, anybody is free to ignore those warnings
<letaris>
for my code, yes, it is probably fine
<letaris>
but how can I trust other people's code/
<Riastradh>
Trust it in what way?
<letaris>
trust that the type contract will be strictly adheared to
<lucca>
he wants type disagreements caught at compile time, rather than causing suboptimal code or runtime exceptions
<lucca>
right?
<letaris>
yes, it is quite useful
<Riastradh>
If code written by other people has bugs, it has bugs. This is not specific to type problems.
<letaris>
Ahhh, but if the tools are such that it is harder to write buggy code
<letaris>
then you might have something
<Riastradh>
Sure. If you have, for instance, a crappy development environment...
<lucca>
this is not necessarily the right approach
<lucca>
you want tools that make it easy to write good code, not tools that make it hard to write bad code.
<Riastradh>
Right.
<lucca>
otherwise people just use different tools and you need to find other employment :/
<Riastradh>
Tools that make it easy & pleasant to write good code.
<letaris>
For example, in ML, you can often judge a library just by it's types
<letaris>
if the author has a very bad type model
<letaris>
you can expect the code to be buggy
<letaris>
but at least you know it will adhear to it's contract
<Riastradh>
As it is, there is no good development environment for either ML that I know of. No decent code reloading, for instance.
<letaris>
even if that contract is badly written
<letaris>
Ocaml's toplevel really isn't that bad
<letaris>
it has some problems, but it is very usable
<Riastradh>
Compared with main stream development environments, sure.
<Riastradh>
It's certainly usable.
<lucca>
heh
<Riastradh>
I'm not claiming that it's buggy or anything.
<letaris>
Compared to mainstream its a beautiful gem
<Riastradh>
Compare it with Interlisp-D or Genera or something, however.
<lucca>
i need to get ECS's 3640's over here
<lucca>
hehehe
<lucca>
(
<letaris>
I believe you actually need to do both
<letaris>
you need to make it easy to write good code
<letaris>
but you also need to make it hard to write bad code
<lucca>
yes, but the former is more critical.
<letaris>
yes, I agree with that
<letaris>
but they are both of paramount importance
<letaris>
otherwise, why do error checking at all
<letaris>
doesn't error checking serve a s tool to make it easier to not make mistakes
<Riastradh>
People unfamiliar with a language's idioms make bad code regardless of the tools to prevent that.
<letaris>
actually, in ML, unfamailiar people are at a loss to make anything at all that compiles
<letaris>
I have experianced this first hand with my staff
<lucca>
this hurts ML more than it helps compsci
<letaris>
that is an interesting opinion
<letaris>
but it has not proven to be true, at least not here
<letaris>
we got past those problems without too much trouble
<tsume>
what hurts ML?
<lucca>
tsume: it's a user interface issue...
<tsume>
oh.
<lucca>
consider perl's approach for various things it consider's wrong
<Riastradh>
There are things Perl considers wrong?
<tsume>
*sigh*
<letaris>
Surely not
<Riastradh>
Oh, I guess clean & elegant code qualify.
<tsume>
I'm only on page 75 of 757 of the ora book
<lucca>
like using a list splice of one value. It does it and emits a warning that you Probably mean to use a $ instead
<tsume>
I wish I could read off the screen faster
* lucca
shrugs
<lucca>
I'm not going to defend perl
<lucca>
that would be...hehehe
<letaris>
Riastradh, at least we can agree on some things
<tsume>
ocaml seems to be really interesting, and what I'm looking for to protect the computer from myself :)
<lucca>
I am saying that the ocaml compiler, while very good in many areas, definitely has a bit of a steep learning curve wrt it's error messages
<tsume>
how does ocaml match up to other langauges?
<tsume>
speed wise
<letaris>
very very well
<tsume>
what about FORTRAN
<letaris>
I disavow all knowledge of FORTRAN
<tsume>
I'm wanting to write numerical code. I dislike FORTRAN with a passion
<Riastradh>
OCaml is not very good at floating-point-intensive code.
<tsume>
passing by reference is not always fater
<tsume>
*faster
<letaris>
numerical code, can be a bit of a problem
<lucca>
ocaml's syntax for dealing with numbers is antiquated
<letaris>
Ocaml is much better at symbolic code than numerical
<lucca>
lacks built-in bignums
<letaris>
however there is a BLAS binding
<tsume>
the cons of ocaml's floating point are: ?
<tsume>
oh
<letaris>
well, indirection
<tsume>
well I seen the BLAS bindings
<letaris>
arrays of floats are not indirected
<letaris>
but many operations on floats are
<letaris>
If you are careful, and you read very carefully the FAQ, you can write decent numerical code in Ocaml
<letaris>
but it has pitfalls because of the nature of the environment, and the way it is implemented
<letaris>
that being said, do experiments, I don't write numeric code, so I am not the person to ask
<tsume>
what about the bignum library?
<letaris>
I have not used it
<letaris>
but it appears usable
<letaris>
well, I think what lucca is referring to is
<letaris>
LISP and Scheme's truely elegant number system
<letaris>
is not found in Ocaml
<tsume>
oh so lucca is wanting perfection?
<letaris>
in LISP/Scheme, the number type has many representations
<letaris>
so if you start with a number, and add to it to go beyond your machine word, it will automatically become a bignum, etc
<tsume>
in ocaml, or is that what lucca is wanting?
<letaris>
no, Ocaml DOESN'T do that
<letaris>
ints are machine word - 1 bits long
<tsume>
right
<letaris>
if you want something bigger, you must explicitly use a library
<tsume>
I use C/C++ much.
<Riastradh>
There are a number of different numeric modules.
<Riastradh>
Compnums, ratnums, flonums, bignums, &c., all have different & incompatible types.
<tsume>
so I just have to be careful how to write my code.
<lucca>
complex numbers can futher be rational or floats inside...
<letaris>
You CAN tie all that together to create a lisp like system, but it will be heinously slow
<letaris>
I don't find it to be a problem
<tsume>
letaris: as in the compiler, or a type defined of my own?
<letaris>
a type defined on your own
<lucca>
the cl version of that mandelbrot program I have was horridly slow before I put in type declarations because it tried using complex numbers with rational components
<letaris>
such as
<letaris>
type number = Int of int | Float of float | Bignum of bignum ...etc
<letaris>
and then define operations which work with this type
<Riastradh>
And no one else's code will work with your numbers.
<letaris>
you could even override the existing operators to use your new functions
<letaris>
let + = myaddfun
<letaris>
etc...
<letaris>
but, it is many orders of magnitude slower than immediate values
<letaris>
because it is implemented as a pointer to a cons instead of an immediate
<tsume>
can i get around the number cons without loosing speed?
<letaris>
sure, just DON'T implement a unified number type :P
<tsume>
hehe
<letaris>
and then you're working with immediates
<tsume>
letaris: alright :)
<letaris>
the problem with floats is
<tsume>
letaris: I'm curious if it was purposely created that way.
<letaris>
that SOMETIMES, you aren't actually working with a float
<letaris>
you're working with a pointer to a float
<letaris>
that is actually the common case, and there are a couple of special cases implemented to make it faster
<letaris>
which are documented in the FAQ
* tsume
nods
<tsume>
I just want to make sure I won't screw myself later :)
<Riastradh>
For instance, if you use recursive functions to write loops, your floating point numbers will be boxed.
<letaris>
there are methods of systematically removing boxing from numerical code which are applied in compilers like MLTon
<letaris>
but they can't apply them to Ocaml because of the way the garbage collector is implemented
<Nutssh>
Ocaml doesn't do any optimizing in the compiler.
<Riastradh>
As I said earlier, MLton is a much better compiler.
<Riastradh>
OCaml just has a decent run-time system, byte code interpreter, & native code generator.
<tsume>
well.. jsut as long as it conforms to IEEE
<letaris>
mmmm, it semi conforms
<tsume>
there is no isnan it says, but that is easily defined like in the example
<Nutssh>
The question is is it 'good enough'.
mlh_ has joined #ocaml
<tsume>
letaris: floats are conform
<letaris>
ah, ok
<tsume>
Nutssh: I suppose so, if I run into a serious problem.. then its my fault and I need to rewrite.
<Nutssh>
Profile and implement a couple of core loops in something like C, and use ocaml for all of the higher level code.
<tsume>
Nutssh: well sure.
* lucca
bumps Cyndi Lauper/Goonies R Good Enough
<Riastradh>
The best you can do in OCaml is to write code as you would in Fortran or C (using imperative for & while loops) and to use algorithms with better asymptotic complexity.
<Nutssh>
So far (knock on wood) I've not had to do that yet.
<Riastradh>
One should never have to waste time writing code in C.
<tsume>
I like the aspects of ocaml, they are interesting
<Nutssh>
And pull loop invariant computation out of loops. (EWWWW!!)
<tsume>
I don't care that ocamlopt doesn't optimise code. I can optimise as much as I can on my own.
<tsume>
well.. it odesn't optimise code much.
<Riastradh>
Code transformation optimizations are not the only ones.
<tsume>
I need to read teh WideStudio source and create bindings :)
<tsume>
*the
<Nutssh>
Riastradh, agreed... And usually, I've never felt the need.
<Riastradh>
It has no serious closure conversion, for instance, which you can't perform yourself in your own code.
<tsume>
Nutssh: ocaml seems to beat most, so how come people argue about the optimisation?
<Riastradh>
All closures are fully heap-allocated.
<Riastradh>
tsume, that's just because what it's generally compared against is really terrible in terms of speed.
* tsume
thinks someone at MIT watches too much ren and stimpy
<tsume>
"Happy Happy Joy Joy"
<Nutssh>
I've speculated that modern CPU's are superscalar able to handle ILP over what most software can deliver, so many of the overheads of ocaml's tagging sorta disappear into the surplus ILP.
<Riastradh>
ILP?
<letaris>
Instruction level parallelism
<Nutssh>
I did an automata grid simulator (something like conway's game of life, but different rules) in ocaml at about 75-80% of the speed of the C version.
<letaris>
Many people have noticed that array bounds checking is essentially free on most processors
<letaris>
One example actually found that removing it reduced performance
<tsume>
Nutssh: what about the C++ version? :P
<Nutssh>
Branches --- if they're predictable --- are nearly free.
<lucca>
letaris: that is more a sign that ocamlopt isn't considering appropriate instruction padding
<Nutssh>
That was true on the origional pentium 10 years ago.. memset() which was store, increment, compare, branch could do 2 cycles/iteration.
<letaris>
this benefits every other functional language as well
<lucca>
bounds checking isn't a functional thing
<lucca>
it IS a good thing though
xol has quit [Read error: 54 (Connection reset by peer)]
<tsume>
humasect: how do ml languages have a advantage(unfair?) over other langauges?
<tsume>
humasect: Just read it, it was talking about how even the SML/NJ is faster.
<Smerdyakov>
Can someone bring me up to speed on the topic of discussion?
<tsume>
Smerdyakov: cons of ocaml. cons of number system, bignumbers, floats, etc.
<tsume>
number implementation of ocaml.
<Smerdyakov>
Hm. I talk about cons of OCaml here all the time. ;)
<tsume>
Smerdyakov: you know.. MLton is just like Sun, they won't make a native implementation for windows.
<tsume>
Sun wont make a real implementation for BSD ;)
<Smerdyakov>
tsume, that's an idiotic comparison. Sun is a corporate giant. MLton is an open source project with 2 real developers.
<tsume>
Sun's java
<tsume>
Smerdyakov: oh well. Its still a comparison
mlh_ is now known as mlh_away
mlh_away has quit ["Chatzilla 0.9.66e [Firefox 1.0/20041107]"]
humasect has quit [Read error: 110 (Connection timed out)]
CosmicRay_ has joined #ocaml
KrispyKringle has joined #ocaml
<tsume>
~/me smells viral license(*GPL) fiend
<letaris>
yaaaah GPL
<KrispyKringle>
hmm?
<Smerdyakov>
tsume, was I talking to you a few days ago, with a different nick for you?
<letaris>
hahahahaha
<tsume>
Smerdyakov: yep
<Smerdyakov>
tsume, OK. Good to know there aren't multiple people here talking about "smelling GPL fiends."
<KrispyKringle>
who's a GPL fiend?
<KrispyKringle>
what's a GPL fiend?
<tsume>
a fiend is like a nazi. Tries to cause much trouble everywhere else because a stupid belief
<tsume>
Smerdyakov: there are many people who share the same feelings
<KrispyKringle>
...that's not what "fiend" means.
<KrispyKringle>
but ok.
<tsume>
okay then :) s/fiend/nazi/g
<letaris>
I fiend for the GPL, it is my precious
<KrispyKringle>
well, fiend can be synonymous with "fanatic".
<KrispyKringle>
i assume that's the connotation you want.
<KrispyKringle>
or "zealot."
<KrispyKringle>
but those two are not synonymous with "nazi".
<letaris>
I talk to it before I go to sleep at night
<tsume>
bring that stupid newsgroup law in and I'll beat every each one of you with the german whip
<tsume>
letaris: did you try taking over the world and someone took the GPL and threw it in the moutain full of lava?
<letaris>
uuh, yeah, how did you guess
<tsume>
letaris: okay smegle :p
<letaris>
those damn movies have ruined my angle
<letaris>
what's wrong with the GPL anyway
<tsume>
letaris: you can up with it first? :P
<KrispyKringle>
Ew. You bit someone's finger off?
<KrispyKringle>
That's sick.
<Smerdyakov>
KrispyKringle, I bit your finger off.
<letaris>
as a customer, it assures me that the vendor I'm working with can't screw me over
<KrispyKringle>
Smerdyakov: I don't really know what that means, but it still freaks me out.
<tsume>
leI'll not explain it, as its a waste of time to explain to everyone
<tsume>
MIT/BSD license are better
<tsume>
which is why I like WideStudio over GTK
<tsume>
and the fact that GTK's API is crap.
<KrispyKringle>
I think it's difficult to make a statement like that that's true across the board, but you're right that there are some who would try to say the same about the GPL.
<Smerdyakov>
tsume, that, of course, depends on a larger view of appropriate social arrangements.
<KrispyKringle>
I think, even from a purely charitable utilitarian perspective, one might argue that the GPL is effective in *some* circumstances (and vice versa).
<tsume>
I know projects who have people that wouldn't have contributed code if the project wasn't MIT licensed
<Smerdyakov>
If you're like me and you'd like to put a damper in all commercial activity, then the GPL is great!
<tsume>
Smerdyakov: I'd use the code anyway in clsoed source, so oh well
<tsume>
*closed
<Smerdyakov>
I don't follow.
<KrispyKringle>
tsume: and conversely, I'm sure I could find people who wouldn't have contributed were it not GPL.
<Smerdyakov>
You're saying you'd break the law just to be a bastard?
<tsume>
Smerdyakov: If the code were GPL'ed, I'd use the code in closed source anyway
<KrispyKringle>
Your example may prove that the GPL is not right *all* the time, but it doesn't show that the GPL is *neveR* right.
<tsume>
Smerdyakov: sure.
<KrispyKringle>
tsume: you just asid you *wouldn't* use GTK for the same reason.
<KrispyKringle>
You're contradicting yourself.
<KrispyKringle>
If you don't intend to comply with the GPL anyway, why would you complain about it to begin with?
<tsume>
KrispyKringle: I don't use GTK for that reason
* KrispyKringle
is confused
<tsume>
I don't use any other toolkit for the LGPL reason
<tsume>
I don't like LGPL either
<KrispyKringle>
huh?
<tsume>
statically linking freely is a must or I don't use it.
<letaris>
Sometimes you need a strong license to facilitate cooperation, and prevent forking
<KrispyKringle>
Thta's what I said. You said that you refuse to use things that are GPL/LGPL licensed, but on the other hand said that you wouldn't care to comply with the license anyway.
<Nutssh>
Lets not do a BSD/GPL rant...
<letaris>
and sometimes you don't
<letaris>
Nutssh, agreed :P
<KrispyKringle>
I agree with Nutssh. It's not an argument I find interesting.
<tsume>
KrispyKringle: oh.. heh, well I try not to if I can easily avoid
<KrispyKringle>
Licenses are just a lot of legal bullshit, most of the time.
<letaris>
we must stop before it reaches critical mass
<Nutssh>
Its nonproductive.
<tsume>
boom!
<Smerdyakov>
tsume is the one who is so uncreative that he can't get paid to do anything but write crappy closed-source software that people can't compare with the other crappy closed-source competitors. :-)
<KrispyKringle>
I was just trying to point out some inconsistencies in tsume's argument :P
<tsume>
well I'm typing and reasing a book in the background.
<tsume>
Smerdyakov: so?
<tsume>
Smerdyakov: they will pay more if they want the source :)
<Smerdyakov>
tsume, so you are beneath us.
<KrispyKringle>
tsume: well, if you can't make the effort to write clearly and with proper grammar, then I won't make the effort to try to understand you :P
<KrispyKringle>
So, Smerdyakov, how's life? ;)
<tsume>
KrispyKringle: you know.. people complain about the same thing.
<tsume>
KrispyKringle: the gramar I speak.
<Smerdyakov>
KrispyKringle, HEY MAN; it's GOOD.
<KrispyKringle>
tsume: maybe they'd complain less if you made some sense.
* tsume
smirks
<tsume>
mesa make purfect sense :P
<KrispyKringle>
ok, the coffee is working now, so im back to work for a bit.
<Nutssh>
If you're talking with someone, its polite to give them and their arguments the attention they deserve.
<Smerdyakov>
Nutssh, s/its/it's
* Riastradh
goes off to do something useful, rather than waste any further time here.
<Smerdyakov>
You couldn't do something useful if your wife depended on it.
<tsume>
are there any good gui toolkits for ocaml?
* Nutssh
bangs head against table.
<tsume>
oh wait.. how is the tk support?
<Smerdyakov>
tsume, are there any good search engines for the web?
<letaris>
I here google has a beta one that is pretty good
<tsume>
Smerdyakov: well I'm asking if anyone has had first hand experience with tk :)
<letaris>
I happen to LIKE gtk+, so I always use lablgtk
<Smerdyakov>
tsume, you are the one who hasn't really written an OCaml program yet, right? Just copy-and-paste?
<tsume>
Smerdyakov: well I can write my own now.
<Smerdyakov>
tsume, so you claim.
<Nutssh>
tsume implement something in it, a toy or small program.
<tsume>
Nutssh: which is what I want to do
<KrispyKringle>
Wow. Trolls in #Ocaml. I never would have figured.
<tsume>
I want to little by little learn a GUI until I can hook in widestudio
<tsume>
trolls! where?
<Nutssh>
Are you familiar with the language?
<tsume>
Nutssh: somewhat, yes. Still learning, but I need to write examples and such.
<letaris>
how about...
* letaris
ponders
<Nutssh>
Don't start with a GUI program? :)
<letaris>
we need a good ASN.1 compiler
<letaris>
why don't you go write that
<Smerdyakov>
tsume, you will not learn OCaml well by measuring programs by how nice the GUI's you get look.
<tsume>
Smerdyakov: I'm aware
<Smerdyakov>
tsume, OCaml shines in providing ways to structure whole projects for understanding and re-use.
<KrispyKringle>
it's pretty easy to find some good beginner examples out there, like in the orielly book.
<KrispyKringle>
start with something like towers of hanoi :)
<tsume>
KrispyKringle: hehe
<tsume>
KrispyKringle: that game is so overused :)
<KrispyKringle>
haha, true.
<Nutssh>
Othello.
<KrispyKringle>
and once you know the algorithm, it's hardly a challenge :P
<KrispyKringle>
but the point is, you can do a good simple recursive function for it.
<tsume>
O think there was a towers of hanoi page where it was written in many languages
<letaris>
or if you like graphics, the mandelbrot set
<KrispyKringle>
yeah.
<tsume>
KrispyKringle: right.
<KrispyKringle>
kernelthread.com
<KrispyKringle>
that guy is cool ;)
<Smerdyakov>
KrispyKringle, bad choice, because it doesn't require any abstraction to do effectively.
<KrispyKringle>
Smerdyakov: true.
<KrispyKringle>
i was saying "simple" :P
* tsume
smacks face
<KrispyKringle>
god, why does iphoto suck so much.
<KrispyKringle>
i swear, im gonna kill it.
<tsume>
unix on gameboy.. how pointless
<letaris>
hehehe
<tsume>
are they gogni to attack from gameboys now?
<Nutssh>
linux & mame on a digital camera.... But surely someone's outdone that for geeky pointlessness?
<KrispyKringle>
mame on a digital camera?
<KrispyKringle>
wow
<KrispyKringle>
Nutssh: yeah, i installed linux on my ipod, just out of curiosity.
<KrispyKringle>
it took under 5 minutes.
<KrispyKringle>
wasn't really usable.
<tsume>
why do you people play around like that?
<tsume>
whats the point?
<KrispyKringle>
Well, I was curious to try out the different games and the line-in recording faculty.
<KrispyKringle>
The latter would have been quite cool.
<Smerdyakov>
I think a good signal that you should leave an IRC channel is when you start using "you people."
<drewr>
Smerdyakov: ;-)
<tsume>
KrispyKringle: you people, as in short black midget off bad santa :)
<KrispyKringle>
huh?
<tsume>
KrispyKringle: a funny movie :)
<KrispyKringle>
ok
<tsume>
"Bad Santa", go rent it :)
<KrispyKringle>
i was going to ask how you knew that i was a short black midget, but whatever.
<letaris>
hahahaha
* tsume
highly doubts someone would be here by coincidence a black midget
<drewr>
And what about black midgets makes them unsuited for the computing lifestyle?
<tsume>
drewr: nothing, its just more unexpected
<tsume>
kinda like when I first started to irc and noticed most where male.. then I noticed when there were females.. most were gay.
<KrispyKringle>
...
<letaris>
/~o diggin a hooooole o~/
* tsume
takes shoe out of mouth
<KrispyKringle>
So anyway, I was writing this ocaml code the other day...
<letaris>
yeah, cool, what did it do?
<KrispyKringle>
um, well...
<letaris>
seriously though, I'm interested in writing a parallel higherarchical database in Ocaml
<tsume>
from everyones exp. is mod_caml decent?
<letaris>
I'd like to explore the possibility of eliminating indexing completely
<KrispyKringle>
i've never used mod_caml.
<letaris>
by performing searches in parallel
<KrispyKringle>
nor have i done database access in ocaml.
<tsume>
well I also want to write smoe interfaces with ocaml
<tsume>
*some
<KrispyKringle>
since many web applications are basically just database interfaces, that's often the most important language feature, imo.
<tsume>
one project I still need to completel is a webmail client which actually works right
<Nutssh>
I have done some database stuff in ocaml.. It wasn't too bad.
<KrispyKringle>
python's SQLObject is my new love.
<KrispyKringle>
IT's quite a cool way of doing things.
<letaris>
hm, I havn't looked at that
<KrispyKringle>
sqlobject.org
<KrispyKringle>
it's pretty cool.
<letaris>
wow, just the first line of text says it all
<tsume>
hmmmm
<letaris>
that is way cool
<KrispyKringle>
It is.
<tsume>
blah pythong
<KrispyKringle>
I've only used it a tiny bit on a few lines of code yet. I discovered it, like, last week. I'm not a big python user.
<KrispyKringle>
But wow.
<Smerdyakov>
It's sort of sick if this seems like a "great new idea."
<Smerdyakov>
Navigational databases came _before_ relational, historically.
<Smerdyakov>
And I've implemented an analogous thing to this SQLObject for SML.
<letaris>
Smerdyakov, ah, cool
<letaris>
well, see you all later, I have to go
letaris has quit ["bye"]
<KrispyKringle>
Smerdyakov: it's a great idea to me because I'm an ignoramus. That's all. ;)
<KrispyKringle>
Smerdyakov: i've just never seen anything so conveniently abstracted before. I've seen similar things in Java, for instance, to abstract *access*, but not object creation (and, in fact, you couldn't even do such in java, I don't believe).
<tsume>
wow, just thinking about it, this channel has had real intellectual conversations unlike most I know.
<tsume>
besides the GPL talk
<Smerdyakov>
Intellectual conversations and IP openness go hand in hand.
<KrispyKringle>
Smerdyakov: you're the guy who might end up at MS Research, right? :P
<Smerdyakov>
There are many such guys.
<KrispyKringle>
Are you one of them?
<Smerdyakov>
I am one of them.
<KrispyKringle>
being a little evasive, eh? :P
<Smerdyakov>
I don't think so. Why do you say that?
<KrispyKringle>
heh, nevermind.
CosmicRay_ has quit ["Client exiting"]
mbh has quit ["leaving"]
fuchsto_ is now known as hightler
hightler is now known as fuchsto
smkl__ has quit [Read error: 110 (Connection timed out)]
smkl__ has joined #ocaml
tintin has joined #ocaml
judge has joined #ocaml
judge has left #ocaml []
fuchsto has quit [Read error: 60 (Operation timed out)]
Herrchen has joined #ocaml
smkl__ has quit [Read error: 60 (Operation timed out)]
como has joined #ocaml
smkl__ has joined #ocaml
zzorn has joined #ocaml
mattam has joined #ocaml
_JusSx_ has joined #ocaml
smimou has joined #ocaml
smkl__ has quit [Read error: 110 (Connection timed out)]
shawn_ has joined #ocaml
__DL__ has joined #ocaml
__DL__ has left #ocaml []
<_JusSx_>
how to setup ocaml manual emacs file for emacs?
_shawn has quit [Read error: 110 (Connection timed out)]
smkl__ has joined #ocaml
zzorn_ has joined #ocaml
zzorn has quit [Connection timed out]
vezenchio has joined #ocaml
cjohnson has joined #ocaml
zzorn_ is now known as zzorn_afk
zzorn_afk has quit [Read error: 60 (Operation timed out)]
zzorn has joined #ocaml
smkl__ has quit [Read error: 60 (Operation timed out)]
smkl__ has quit [Read error: 60 (Operation timed out)]
zzorn has quit [Read error: 60 (Operation timed out)]
zzorn has joined #ocaml
smkl__ has joined #ocaml
fuchsto has quit [Read error: 110 (Connection timed out)]
zzorn is now known as zzorn_afk
mbh has joined #ocaml
fuckin_code has joined #ocaml
fuckin_code has left #ocaml []
tintin is now known as vivek
vivek is now known as tintin
Submarine has quit ["Leaving"]
pango_ has quit [Remote closed the connection]
pango has joined #ocaml
mfurr has joined #ocaml
ShereKahn has joined #ocaml
_JusSx_ has quit ["leaving"]
ne1 has joined #ocaml
ShereKahn has quit ["Leaving"]
ChoJin has joined #ocaml
<ChoJin>
hello
smkl__ has quit [Read error: 110 (Connection timed out)]
<tsume>
they there ocaml people
<tsume>
what is the best IDE(commercial or non) for windows?
<Riastradh>
Emacs
<tsume>
I like using bsd and everything, but require an interface when programming on windows
<KrispyKringle>
i've switched to vim and i'm pretty happy.
<tsume>
Riastradh: isn't there a better IDE like bloodshed?
<tsume>
gee..
<tsume>
do I need to create a nice commercial IDE? :P
<KrispyKringle>
and vim comes with syntax files for all sorts of obscure types, including ocaml.
<tsume>
a programmer needs a good interface
<KrispyKringle>
vim and emacs are both good interfaces :P
<tsume>
not really
<ChoJin>
is there any "filter" function for String?
<tsume>
they don't have autocompletion, tree gui ability to switch between easily
<KrispyKringle>
they do have autocompletion. im not sure what you mean by "tree gui".
<tsume>
theres a long list of how CLI interfaces are inefficent compared to GUIs
<tsume>
since GUIs can have a mini command lone
<tsume>
*line
<KrispyKringle>
you mean folding? they both have that.
<tsume>
no
<tsume>
like in ECB emacs
<KrispyKringle>
Huh?
<ChoJin>
using mouse is a waste of time ;)
<KrispyKringle>
i use gvim, so i have that option :P
<tsume>
ChoJin: you don't need a mouse to navigate any GUI
<mattam>
ChoJin: nope, but writing one should be easy
<tsume>
ChoJin: if I can navigate through windows completely without a mouse, then its possib;e with a IDE if its made right
* tsume
pets qemu
<tsume>
running windows without exploiting my security is nice :)
<KrispyKringle>
tsume: im still confused, though. what's a "tree gui"?
<tsume>
KrispyKringle: code browser
<tsume>
KrispyKringle: tree GUI.. hehe, don't know where that came from
<KrispyKringle>
oh.
<KrispyKringle>
yeah, emacs and vim both have code browsers :p
<tsume>
KrispyKringle: for ocaml?
<tsume>
actually I might just work on a IDE for fun in my extra time
<KrispyKringle>
i don't know. vim uses cscope. you could probably write a syntax file if it doesn't have one.
<KrispyKringle>
that'd be easier than reinventing the wheel and writing a whole new ide.
<KrispyKringle>
nothing bugs me more than the notion that there should be a different ide for each langauge.
<KrispyKringle>
:P
<KrispyKringle>
well, that's not true. republicans bug me more.
<tsume>
KrispyKringle: well you see. my IDE would have more than the "common" features
<tsume>
KrispyKringle: no.. I'm not a stupid kid who thinks about reinplementing something
<KrispyKringle>
ok. write it and let the masses decide :P
<tsume>
I need to write extensions to WideStudio first.
<tsume>
its the only Free toolkit I know.. so I might as well expand a bit more the the uber portability
<tsume>
was reading on the swig file optimiser. Anyone else use it?
<tsume>
WideStudio uses swig to allow usage from python, perl and ruby in the base support. Just curious what problems I might run into
<Nutssh>
Something small that is implemented and works is much more useful than a big design that never gets built. :)
<tsume>
Nutssh: and something which allows the developer to write code faster is much better than tapping away executnig commands just to do a couple tasks
mfurr has quit ["Client exiting"]
smimou has quit ["?"]
<dan2>
swig + ocaml seriously sucks
mlh has joined #ocaml
<tsume>
dan2: why?
<dan2>
tsume: because the swig guys make no effort to convert even basic types of C
smkl__ has joined #ocaml
humasect has quit [Read error: 104 (Connection reset by peer)]
Demitar has joined #ocaml
xqw has quit [Read error: 110 (Connection timed out)]
xqw has joined #ocaml
kuribas has joined #ocaml
mrvn_ has joined #ocaml
vodka-goo has quit []
kuribas has left #ocaml []
mrvn has quit [Read error: 110 (Connection timed out)]