<dross>
Smerdyakov: I've been researching.. _many_ langauges :)
<dross>
I'm a BSd user btw. I use all the BSDs
<dross>
I've been known to run linux and windows in qemu ;)
drewr has quit ["studying"]
<dross>
Smerdyakov: is ocaml a safe language with memory access?
<dross>
Smerdyakov: I know it can compile native or bytecode
<Smerdyakov>
Do you mean "can well-typed programs cause segmentation faults or similar memory faults?"?
m3ga has quit ["Client exiting"]
<dross>
Smerdyakov: I'm looking in Ocaml for the bytecode portability with the OOness for web development
<dross>
Smerdyakov: hmm.. well.. I mean exploitation
<dross>
Smerdyakov: sorry. Its the whitehat in me.
<Smerdyakov>
OCaml is a "safe language," in the usual technical sense, which may be what you mean.
<dross>
or on my head anyway..
<dross>
Smerdyakov: so what do I gain from using ocaml over smalltalk? or another language?
<dross>
Smerdyakov: enlighten my research.
<Smerdyakov>
Types and other static analysis techniques have many benefits.
<Smerdyakov>
First, they help catch errors early (at compile time).
<Smerdyakov>
Second, they provide a compiler-enforced way of structuring code, for easy description later.
<dross>
compiler-enforced? how so?
<Smerdyakov>
Refactoring code in a language with a rich type system is very pleasant compared to dynamically typed languages.
<Smerdyakov>
OCaml programs won't be accepted by the compiler if they aren't well-typed.
<dross>
right, like Ruby :)
<dross>
I like Ruby, however it really isn't great at speed.
<dross>
how is the speed of binaries, or bytecode by Ocaml?
<Smerdyakov>
This is hardly a novel property, except that OCaml has a much richer type system than any mainstream language.
<Smerdyakov>
The best.
<Smerdyakov>
Nothing has better open source support but C.
<Smerdyakov>
(Not even C++)
<dross>
is the code compiled by oCaml, or is it compiled to be passed by another compiler like gcc?
<Smerdyakov>
gcc is only used for linking, at most.
<dross>
I'm aware C is the most used
<dross>
I'm one who can exploit programs ;)
<dross>
which is why I asked about OCaml being a safe langauge.
<Smerdyakov>
BTW, I'll generally be aggregating OCaml and SML in any arguments I give here. I prefer SML, and it has a noticeably better optimizing compilers.
<Smerdyakov>
s/compilers/compiler
<dross>
Smerdyakov: well I'm up for any research
<dross>
Smerdyakov: I however will not stand fad languages like Java.
tintin has joined #ocaml
<Smerdyakov>
I don't know how you people like to construct your "exploits," but I doubt they're complicated enough for language differences to have much effect.
<dross>
Smerdyakov: most exploits are due to the programmer.
<Smerdyakov>
So I think it's a waste of time to discuss here pros and cons of various languages for twiddling the memory of vulnerable C programs.
<Smerdyakov>
Software security is my research area; you don't need to explain that sort of thing to me. ;)
<dross>
Smerdyakov: I was just curious about Ocaml being safe ;)
<dross>
Smerdyakov: what happens when you try accessing OOB ?
<Smerdyakov>
ML is the safest language family out there with a significant base of users, along with some other close relatives liek Haskell.
<Smerdyakov>
dross, exception raised
<dross>
ahuh. Ok, good. I like exception handling.
<dross>
Smerdyakov: is ther a mlforge?
<Smerdyakov>
What exactly do you mean by "a mlforge"?
<dross>
application archive
<dross>
how many archs do Ocaml and SML run on?
<dross>
I see SML is working n a MIPS generator
<Smerdyakov>
SML is a language, not a compiler.
<Smerdyakov>
So such a statement doesn't make sense.
<dross>
Smerdyakov: I'm mainly trying to find a good language for web development which doesn't involve the text "php, asp, etc etc, perl, python, ruby"
<dross>
I mean smlnj
<dross>
what are the main libraries licensed under?
<dross>
for both implementations
<Smerdyakov>
Beats me
<dross>
Smerdyakov: don't you use the implementations?
<Smerdyakov>
Did you just choose SML/NJ implicitly as the only SML implementation you are considering?
<Smerdyakov>
Because SML has about half a dozen usable open source implementations
<dross>
Smerdyakov: I was reading the site. I'm sure there are other implementations. I've never looked into the other evolved/mature languages
<dross>
except smalltalk, and C (since C++ still isn't mature I don't consider it ) :)
<dross>
I've learned more languages, but they are mostly the fad languages from 89' and up :)
<Smerdyakov>
There aren't enough SML libraries to be able to make a very useful summarizing statement about libraries.
<dross>
Smerdyakov: there isn't much contributions?
<dross>
*many
<dross>
*sigh*
<Smerdyakov>
That's right.
<dross>
Smerdyakov: There aren't many contributions?
<Smerdyakov>
That's right.
<dross>
sorry, I'm sleepy.
<Smerdyakov>
And I don't know/care enough about OCaml libraries as a whole to summarize licensing issues.
<Smerdyakov>
But almost everyone in the ML community favors open source licenses wherever possible.
<dross>
Smerdyakov: so there isn't a applicatoin library?
<Smerdyakov>
What is that?
<dross>
lists software but specfically for ML. Like sourceforge
<Smerdyakov>
No, Source Forge provides services for _developing_ software.
<Smerdyakov>
Perhaps you mean more like Freshmeat?
<dross>
Smerdyakov: which implementation do you use?
<dross>
Smerdyakov: yes
<Smerdyakov>
I already gave you the link for that.
<Smerdyakov>
My preferred ML compiler is MLton.
<dross>
Smerdyakov: I'm used to places like.. luafoge, rubyforge, etc
<Smerdyakov>
All the smart money is on MLton. It will beat all other contenders in every way hands down by a few years from now.
<dross>
Smerdyakov: MLton uses green threads?
<Smerdyakov>
Is that a rhetorical question? (I don't know the answer.)
<dross>
threading system which is not from the system, but in the interpreter
<Smerdyakov>
"Green threads" is not a common term outside of Solaris (or some other OS I'm confusing it with), as far as I know.
<Smerdyakov>
"User-level threads" is better.
<Smerdyakov>
And kernel threads are very seldom used in functional language implementations.
<Smerdyakov>
And MLton is usually used to produce native code, so I don't know if "interpreter" is appropriate in that context.
<dross>
oh. :)
<dross>
does it have no bytecode compiler?
<dross>
Smerdyakov: I see the C interface for C in both languages. What about C++?
<Smerdyakov>
It does.
<Smerdyakov>
No one cares about C++.
<dross>
Smerdyakov: And options for GUI libraries.
<Smerdyakov>
I think you had best start doing your own research at this point.
<dross>
Smerdyakov: well.. its important to me to use a Free(tm) GUI library which isn't infected by the GML or LGPL
<dross>
*GPL
<Smerdyakov>
And it's not important to me, so I'm not the right person to ask about this!
<Smerdyakov>
And, goodness, what's wrong with the LGPL?
<dross>
restrictions against static linking :)
<dross>
though.. if I want bytecompiled in ocml.. that defeats the purpose since it wouldn't work :)
<Smerdyakov>
Doesn't the LGPL exist specifically to remove those restrictions?
<dross>
so I guess I wouldn't want static compiled for ocaml :)
<dross>
Smerdyakov: you can static compile, but you need to give out object code for relinking.
<dross>
Smerdyakov: you can dynamically link all you want however.
<dross>
Free(tm)ly
<Smerdyakov>
Eh, whatever. Why do you want bytecode?
<dross>
Smerdyakov: well.. I need web aplicatoin. I'm unsure what platform they will use
<dross>
and Ocaml seems to be pretty good.
<dross>
I'm curious on speed however
<Smerdyakov>
So you want bytecode because you think that makes it more likely that a particular platform is supported?
<dross>
Smerdyakov: I don't want to give out source sometimes.
<Smerdyakov>
I believe that _is_ true, though new platforms are still likely to require some manual intervention to get a successful build.
<dross>
Smerdyakov: it depends how much they pay(tm) ;)
<Smerdyakov>
Well, I don't care a whit about closed source code.
<dross>
Smerdyakov: well. I guess I could use GTK dynamically linked.
<dross>
Smerdyakov: why do these libraries use lbal as library name prefix?
<Smerdyakov>
I don't know anything about that.
<Smerdyakov>
Oh, you mean labl?
<dross>
erm.. oops. Yes :)
<Smerdyakov>
I think that refers to the use of labeled function parameters.
<dross>
ohhh.
<dross>
looks decent
<dross>
ocaml is decently nice
<dross>
seems to work on many platforms
<dross>
Smerdyakov: who works on MLton?
<Smerdyakov>
It has a lot of things against it from the usual open source point of view.
<Smerdyakov>
(I'm talking about OCaml now.)
<dross>
Smerdyakov: things?
<Smerdyakov>
There is a single compiler, maintained by a group that makes it hard to get your modifications into the codebase.
<Smerdyakov>
There is no language standard.
<Smerdyakov>
And the single compiler is horrible at optimization.
<Smerdyakov>
You can find information on MLton on its web site.
<dross>
does the code change much?
<Smerdyakov>
OCaml does a few releases a year. About the same as MLton.
<dross>
s/code/syntax/
<dross>
well, ilke in RUby. there are just messes of code changes ;)
<Smerdyakov>
Yes. Very different syntax, superficially, in terms of the the change in exact tokens.
<Smerdyakov>
But the abstract syntax is almost identical.
<dross>
do the changes usually break software libraries completely?
<Smerdyakov>
Wait... what are you talking about now?
<dross>
ocaml
<Smerdyakov>
What about it?
<dross>
do the changes usually break software libraries completely?
<Smerdyakov>
You mean the changes to the language or its implementation?
<dross>
changes to the language
<Smerdyakov>
They hardly ever break backwards compatibility, no.
<dross>
good.
<Smerdyakov>
Maybe every few years such a release is made.
<dross>
I've been running into languages which are very bad at this.
<dross>
like Ruby
<Smerdyakov>
MLton will never break backwards compatibility.
<Smerdyakov>
It sticks to the published SML standard.
<dross>
I see..
<dross>
MLtron development is held by?
<Smerdyakov>
It's an open source project...
<Smerdyakov>
And that's MLton, not MLtron.
<dross>
well I mean is it hosted by a university, group of friends, etc etc
<dross>
oops ;)
<dross>
I keep thinking of Tron the movie
<Smerdyakov>
It's an open source project not inside of any larger entity.
ne1 has joined #ocaml
<dross>
oops. I've also used Ada95 ;) forgot about that one :)
<dross>
Smerdyakov: so. are both MLton and OCaml hard to submit patches to?
<Smerdyakov>
No. MLton is unbeatable in that respect.
<dross>
Smerdyakov: what.. caml applets..
<dross>
I don't understand why caml isn't taught in classes
<Smerdyakov>
It is.
<dross>
it seems to be a good portable language
<dross>
Smerdyakov: I mean widely
<dross>
and plugins for Microsoft Windows
<Smerdyakov>
That's easy. Because of inertia.
<dross>
which would be very good.
<dross>
and Mac, Firefox, unix, etc
<Smerdyakov>
Are you talking about OCaml bytecode again?
<dross>
yes
<dross>
the MMM browser(which is in OCaml) is written with a applet loader
<Smerdyakov>
I don't think many OCaml users use the bytecode for anything but debugging.
<dross>
hmmm. is there a readon?
<dross>
*reason
<Smerdyakov>
I think that such uses in general are silly and arise at best from operating system limitations.
<Smerdyakov>
Why not run native code when you can?
<dross>
I'm talking for web browser applet usage
<dross>
I would love for everybody to be able to download a program at will. As you know, most office workers can't
<Smerdyakov>
And...?
<dross>
you don't realise how wonderful it would be if it worked well on windows via IE ;)
<Smerdyakov>
I'm more in favor of a standardized assembly language than a limited bytecode language.
<dross>
and FF, moz, etc
<dross>
its only limited as the compiler sets it to be.
<Smerdyakov>
No, it's limited in a fundamental way to require a particular type system.
<Smerdyakov>
Particular type system and runtime layout, etc..
<dross>
hmmm
<dross>
you ever use oCaml-SOAP? ;)
<Smerdyakov>
No. I don't do any of that "web services" garbage.
<dross>
its paying garbage :)
<dross>
huh... does the OCaml compiler have a doc utility?
<Smerdyakov>
Yes, and I am done answering questions. Try reading the manual table of contents, at least.
<Smerdyakov>
The manual is a better place to start.
<dross>
Smerdyakov: libraries are one of the most important things.
<Smerdyakov>
To certain types of people with narrows points of view ;)
<dross>
Smerdyakov: no, to people who care to save time
<dross>
I would use C.. but 'm afriad of performing a human mistake which will cost money :)
<Smerdyakov>
If you are developing any kind of serious software and you have a C FFI, developing needed libraries along the way will be an insignificant investment.
<dross>
I must be real silly for not knowing what FFI is.
<Smerdyakov>
foreign function interface
* Smerdyakov
leaves.
<dross>
oh, right. I seen that on the webpage.
* dross
slaps self a bit
<dross>
Smerdyakov: thank you greatly.
<dross>
Smerdyakov: maybe I'll see you later. Good night.
dross has quit ["leaving"]
dross has joined #ocaml
ne1 has quit ["Few people understand understanding."]
zzorn has joined #ocaml
smkl_ has quit [Read error: 110 (Connection timed out)]
vezenchio has joined #ocaml
smkl_ has joined #ocaml
zzorn is now known as zzorn_away
mlh has quit [Client Quit]
tintin has quit [Read error: 113 (No route to host)]
pango has quit [Remote closed the connection]
tintin has joined #ocaml
smkl_ has quit [Read error: 60 (Operation timed out)]
Axioplase has joined #ocaml
smkl_ has joined #ocaml
<Axioplase>
hi!
<tintin>
hello Axioplase
smkl_ has quit [Read error: 110 (Connection timed out)]
m3ga has joined #ocaml
m3ga has quit [Read error: 54 (Connection reset by peer)]
* Axioplase
shouts 'hurrah' loudly since his caml typer is now close to finished
<Axioplase>
and my brain nearly melting...
mlh has joined #ocaml
CLxyz has quit []
Axioplase has quit ["VimIRC 0.8.7 (IRC client for Vim)"]
lmbdwr has joined #ocaml
<lmbdwr>
'lo
<mlh>
hi
smimou has joined #ocaml
smkl_ has joined #ocaml
mattam has joined #ocaml
Axioplase has joined #ocaml
_JusSx_ has joined #ocaml
smkl_ has quit [Read error: 110 (Connection timed out)]
<_JusSx_>
open Modulename;;
<_JusSx_>
which file is looaded?
cjohnson has joined #ocaml
<_JusSx_>
ok i founnd
Submarine has joined #ocaml
mlh has quit ["Chatzilla 0.9.66e [Firefox 1.0/20041107]"]
Submarine has quit ["Leaving"]
Axioplase has quit [Remote closed the connection]
smkl_ has joined #ocaml
Herrchen has joined #ocaml
mattam has quit [Read error: 104 (Connection reset by peer)]
<Smerdyakov>
Cool. Simon Peyton Jones e-mailed me about a paper on my web site. :-)
smkl_ has quit [Read error: 110 (Connection timed out)]
smkl_ has joined #ocaml
gim has quit [Read error: 104 (Connection reset by peer)]
gim has joined #ocaml
drewr has joined #ocaml
tintin has quit [Connection timed out]
mrvn has joined #ocaml
mrvn_ has quit [Read error: 110 (Connection timed out)]
kuribas has joined #ocaml
kuribas has quit ["Leaving"]
smkl_ has quit [Read error: 110 (Connection timed out)]
CosmicRay has joined #ocaml
zzorn_away is now known as zzorn
mfurr has joined #ocaml
pango has joined #ocaml
lus|wats has joined #ocaml
_JusSx__ has joined #ocaml
stef_ has quit [Read error: 60 (Operation timed out)]
stef_ has joined #ocaml
vezenchio has quit [Read error: 110 (Connection timed out)]
_JusSx_ has quit [Read error: 110 (Connection timed out)]
smkl_ has joined #ocaml
zzorn is now known as zzorn_afk
humasect has joined #ocaml
det has quit [Read error: 54 (Connection reset by peer)]
det has joined #ocaml
Herrchen has quit ["bye"]
lus|wats has quit ["Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specif]
smkl_ has quit [Read error: 110 (Connection timed out)]