__DL__ changed the topic of #ocaml to: OCaml 3.09.0 available! Archive of Caml Weekly News: http://sardes.inrialpes.fr/~aschmitt/cwn/ | A free book: http://cristal.inria.fr/~remy/cours/appsem/ | Mailing List: http://caml.inria.fr/bin/wilma/caml-list/ | Cookbook: http://pleac.sourceforge.net/
Salac has joined #ocaml
<Peaker> Smerdyakov: the operator. syntax means its a float-op?
<Smerdyakov> That's the convention for the built-in floating point operators.
<Smerdyakov> It's not codified in the language in any other way.
<Peaker> I see in WP's example that they use Printf.printf, but there's no "import" of Printf. Is it a module? how is it imported? is the case significant?
<Smerdyakov> Printf is a module, and case is significant.
<Smerdyakov> In the more traditional compilation mode, modules are made available with command-line flags.
<Smerdyakov> (Like libraries in C)
<Peaker> Ah. Just recently I realized that I don't like Python's import statement, so this may be cool :)
<Peaker> Camel case means..?
<Smerdyakov> likeThisHere
smimou has quit ["bli"]
Salac has left #ocaml []
<Peaker> No no, I mean what is its semantic meaning in ocaml?
<Peaker> I meant above: "is ocaml case significant", not "is ocaml case sensitive"
<Smerdyakov> None. The only significant of case is that the first character of an identifier is uppercase for modules, signatures, and constructors, and the first character is non-uppercase for the rest.
<Peaker> ah, ok
<Peaker> # does not denote comment?
<Smerdyakov> Nope
<Peaker> but #! is ignored?
<Smerdyakov> If it is, I wasn't aware of that. Maybe that's true in the first line, to support UNIXisms.
Peaker has quit [Read error: 104 (Connection reset by peer)]
* exa is away: Away at the moment
exa is now known as exa_away
Bigbang is now known as Bigb[a]ng
ayrnieu has joined #ocaml
<ayrnieu> I'd like to write a networking application for a windows-using friend, which application needing a very simple graphical interface (two listboxes and a button with complaining dialogues and perhaps scrolling diagnostic messages would do). I'd also like to be able to pass on a small zipfile containing all the program requirements.
<ayrnieu> I only have Solaris machines for development. How appropriate for this task is O'Caml?
<Smerdyakov> I think OCaml works fine on Solaris, and labltk seems to work fine in Cygwin.
<ayrnieu> I'm sure O'Caml works fine on Solaris; I'm worried about how I can provide binaries that run on Windows.
<Smerdyakov> I've never done cross-compiling.
<ayrnieu> I see. Well, I'll wait to get a windows machine.
brx has joined #ocaml
brx has quit [Remote closed the connection]
brx has joined #ocaml
threeve has joined #ocaml
brx has quit [Remote closed the connection]
brx has joined #ocaml
brx has quit [Remote closed the connection]
brx has joined #ocaml
brx has quit [Remote closed the connection]
<Revision17> O'Caml works 100% fine on solaris
<Revision17> solaris 9 anyhow
brx has joined #ocaml
<Revision17> I've only used stdlib and extlib with it though
brx has quit ["a good book will be nice."]
pango__ has joined #ocaml
<KrispyKringle> Hey folks.
pango_ has quit [Read error: 110 (Connection timed out)]
khaladan has joined #ocaml
khaladan has quit [Client Quit]
khaladan has joined #ocaml
OtherAlfie has quit ["*padpad*"]
Snark has joined #ocaml
Smerdyakov has quit [Read error: 104 (Connection reset by peer)]
Smerdyakov has joined #ocaml
TylerE2 has joined #ocaml
<TylerE2> Is the performannce of the complex module decent? Or am I better of using e.g. a float * float and writing my own ops? All I'll be doing is adds and mults
threeve has quit []
m3ga has joined #ocaml
<TylerE2> anyone awake?
vezenchio has joined #ocaml
<m3ga> TylerE2: a little
<TylerE2> ;)
<pango__> the Complex module looks 100% ocaml, see your lib directory for the sources...
pango__ is now known as pango
<pango> with some inlining (ocamlopt -inline 10 ?) performance should be decent... In the end, doing some benchmarks is the only way to be sure...
tom_p has joined #ocaml
<TylerE2> ugh
<TylerE2> I'm getting bit by mutable arrays
<TylerE2> ?let points = Array.make size (Array.copy (Array.make size 0));;
<TylerE2> which should work, but the arrays are still sharing
<TylerE2> n/m figured it out
<TylerE2> make_matrix
<pango> use Array.init (or directly Array.make_matrix)
<pango> in your code Array.copy is only done once (and the inner Array.make array will be eventually discarded... you gained nothing)
<TylerE2> doh
<TylerE2> I'm too used to lisp :P
<pango> Array.init takes a function, that's evaluated once for each element... only way (afaik) to prevent aliasing
<TylerE2> ahh, ok
<TylerE2> the standard library doc is a bit...dense
<TylerE2> be nice if someone through up a wiki-fied version somewhere
<pango> of course make_matrix is the way of the lazy ;)
<pango> let points = Array.init size (fun _ -> Array.make size 0)
chs_ has quit []
m3ga has quit ["disappearing into the sunset"]
TylerE2 has quit [Remote closed the connection]
Bigb[a]ng is now known as Bigbang
revision17_ has joined #ocaml
Revision17 has quit [Success]
smimou has joined #ocaml
mauke has quit [Read error: 104 (Connection reset by peer)]
mauke has joined #ocaml
ski__ is now known as ski
Snark has quit ["Parti"]
chs_ has joined #ocaml
Wombert has joined #ocaml
Bigbang is now known as Bigb[a]ng
* exa_away is back.
exa_away is now known as exa
<Smerdyakov> exa, those messages of yours are annoying. :P
<exa> It's a feature of Konversation :)
<Smerdyakov> I wish you would disable it for this channel.
<exa> Yea
<KrispyKringle> Konversation. Geeze. You just know the KDE guys are Anarkists, too.
<KrispyKringle> So anyway, I can use references as mutable variables in a sort of global scope, right?
<KrispyKringle> Like, I can do "let stack_tops : 'a list ref = ref []" and then later, stack_tops := somenewvalue, yes?
<smimou> yes, but
<smimou> it's going to be a '_a list
<smimou> which means that this list can only contain values of one type
<smimou> (and btw you don't have to specify explicitely the type)
<KrispyKringle> Wait, aren't lists usually homogenous types?
<KrispyKringle> I'm not sure what you mean.
<smimou> sorry I wasn't clear
<smimou> list are homogenous
<smimou> but you can't do
<smimou> stack_tops := [1];;
<smimou> and later stack_tops := ["toto"];;
<KrispyKringle> Right.
<KrispyKringle> I thought that's what you meant.
<KrispyKringle> OK, so I have:
<KrispyKringle> ooh, wait a sec
<KrispyKringle> Yeah, so I have let stack_tops = ref [];; let stack_tops_next = ref [];;
<KrispyKringle> and in one o fmy functions, I do stack_tops := next_stack_tops;
<KrispyKringle> next_stack_tops := []
<KrispyKringle> And that gives me a type error. This expression has type 'a list ref but is here used with type 'b list
<KrispyKringle> But given that the two lists aren't yet used anywhere else, it should infer that they're the same type, no?
<KrispyKringle> I tried putting it explicitly, but no use.
<Smerdyakov> Do you know the typing rule for :=?
<smimou> you forgot a ! I guess
<KrispyKringle> Smerdyakov: This expression has type 'a list ref but is here used with type 'b list
<KrispyKringle> er
<KrispyKringle> wrong clipboard
<smimou> (stack_tops := !next_stack_tops;)
<KrispyKringle> d'oh
<KrispyKringle> yeah.
<KrispyKringle> thanks.
<Smerdyakov> smimou, I think it would have been more helpful to let _him_ figure that out.
<KrispyKringle> thanks. I just missed that.
<KrispyKringle> Smerdyakov: I knew the type for :=
<smimou> sorry
<smimou> let's forget what I said :)
<KrispyKringle> It's just early in the morning. ;)
<Smerdyakov> KrispyKringle, if you know the types for all aspects of your program, then you can always systematically determine the meanings of error messages.
<KrispyKringle> Smerdyakov: Sure. But I'm human. I make mistakes.
clog has joined #ocaml
Wombert has quit ["Powered by Miranda Open Source POS"]
Snark has joined #ocaml
clog has joined #ocaml
xet7 has left #ocaml []
<exa> i feel that more power is being drawn to ocaml
<dylan> hmm>
<dylan> *?
Raziel has joined #ocaml
<Raziel> hi
<Raziel> I have a problem while trying to compile a program that uses Num library
<Smerdyakov> Read the manual.
<Smerdyakov> And it's properly called "the num library." (lowercase)
<Raziel> hum.
<Raziel> it's weird, two days ago it was impossible to compile the program
<Raziel> but now it compiles without problem
<Raziel> :\