* Modeling tool for OCaml? @ 2007-02-04 15:33 Julien Peeters 2007-02-04 17:40 ` [Caml-list] " Robert Fischer 0 siblings, 1 reply; 7+ messages in thread From: Julien Peeters @ 2007-02-04 15:33 UTC (permalink / raw) To: caml-list Hi everybody, For my first post to this mailing list, I'm going to ask you the modeling tool(s) you use commonly for your applications written in OCaml (if you use modeling tools of course)? I have a little experience in UML (v1.5). But I don't know if you can use UML for OCaml cleanly (UML is oriented object and OCaml not necessarly)? Thanks for your anwsers. -- Julien Peeters Computer science student in second year of Bachelor Science Faculty of Orsay University of Paris-Sud XI (France) Personal website: http://www.oxylin.fr ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] Modeling tool for OCaml? 2007-02-04 15:33 Modeling tool for OCaml? Julien Peeters @ 2007-02-04 17:40 ` Robert Fischer 2007-02-04 17:56 ` Alwyn Goodloe 0 siblings, 1 reply; 7+ messages in thread From: Robert Fischer @ 2007-02-04 17:40 UTC (permalink / raw) To: caml-list > For my first post to this mailing list, I'm going to ask you the > modeling tool(s) you use commonly for your applications written in OCaml? > Whiteboard, mainly. Sometimes pencil and paper. If I'm really gung-ho, I'll use LaTeX (generally ripped from the ocamldoc). Unlike the imperative object-oriented world, where the relationships between types are complicated systems with profound (and somewhat mysterious) consequences, the 'function catalog' approach in OCaml most libraries undercuts the value of any kind of modelling. And this is from someone who is a fan of visual models for Java/C# apps. ~~ Robert Fischer. Fischer Venture Management Corporation ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] Modeling tool for OCaml? 2007-02-04 17:40 ` [Caml-list] " Robert Fischer @ 2007-02-04 17:56 ` Alwyn Goodloe 2007-02-04 18:41 ` Julien Peeters 0 siblings, 1 reply; 7+ messages in thread From: Alwyn Goodloe @ 2007-02-04 17:56 UTC (permalink / raw) To: caml-list I've always wondered that maybe old fashioned dataflow diagrams from the 80s might work a lot better than UML for large ocaml programs. I don't even know if they publish books on that anymore, but it might be worth a look. Alwyn On Feb 4, 2007, at 12:40 PM, Robert Fischer wrote: >> For my first post to this mailing list, I'm going to ask you the >> modeling tool(s) you use commonly for your applications written in >> OCaml? >> > Whiteboard, mainly. Sometimes pencil and paper. If I'm really > gung-ho, > I'll use LaTeX (generally ripped from the ocamldoc). > > Unlike the imperative object-oriented world, where the relationships > between types are complicated systems with profound (and somewhat > mysterious) consequences, the 'function catalog' approach in OCaml > most > libraries undercuts the value of any kind of modelling. > > And this is from someone who is a fan of visual models for Java/C# > apps. > > ~~ Robert Fischer. > Fischer Venture Management Corporation > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] Modeling tool for OCaml? 2007-02-04 17:56 ` Alwyn Goodloe @ 2007-02-04 18:41 ` Julien Peeters 2007-02-04 20:43 ` Jon Harrop 2007-02-05 10:00 ` Stéphane DUPRAT 0 siblings, 2 replies; 7+ messages in thread From: Julien Peeters @ 2007-02-04 18:41 UTC (permalink / raw) To: caml-list Ok, Thanks all ones for answers... I imagine that designing applications with functional languages is much different than with imperative ones. I was wondering on which points the difference is significant? Does common oriented object design patterns can be used with OCaml? And what, for a developer, is the work to do to change his way of thinking? I envisage to learn OCaml deeply and than I want to set the basis to do the change from imperative languages to functional ones. P.S. : somebody have reference books which goes over this subject? -- Julien Peeters Computer science student in second year of Bachelor Science Faculty of Orsay University of Paris-Sud XI (France) Personal website: http://www.oxylin.fr ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] Modeling tool for OCaml? 2007-02-04 18:41 ` Julien Peeters @ 2007-02-04 20:43 ` Jon Harrop 2007-02-04 23:30 ` skaller 2007-02-05 10:00 ` Stéphane DUPRAT 1 sibling, 1 reply; 7+ messages in thread From: Jon Harrop @ 2007-02-04 20:43 UTC (permalink / raw) To: caml-list On Sunday 04 February 2007 18:41, Julien Peeters wrote: > I imagine that designing applications with functional languages is much > different than with imperative ones. > > I was wondering on which points the difference is significant? If you assume that by "imperative" you really mean "object oriented", as most of the main imperative languages are now OO (C++, Java, C# and Python), the difference is primarily that class hierarchies can often be represented more succinctly and efficiently using other constructs (like variant types) in functional programming languages like OCaml. > Does common oriented object design patterns can be used with OCaml? Most OO design patterns are redundant in OCaml. Basically, most OO design patterns solve problems creating by OO in the first place... > And what, for a developer, is the work to do to change his way of > thinking? Try to write your programs using a minimal amount of mutation, replace all loops with higher-order functions, leverage trees and pattern matching whenever possible. Forget about the advanced features of OCaml (objects, polymorphic variants) to start with. > I envisage to learn OCaml deeply and than I want to set the basis to do > the change from imperative languages to functional ones. Functional programming is often beneficial. I posted a simple OpenGL demo recently: http://www.ffconsultancy.com/free/bunny/ Although this is a very array-intensive program, operating on vertex and index arrays, it can still leverage functional programming by using the higher-order Array.iter and map functions extensively. > P.S. : somebody have reference books which goes over this subject? Yes, my book covers this subject (see my sig). -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. Objective CAML for Scientists http://www.ffconsultancy.com/products/ocaml_for_scientists ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] Modeling tool for OCaml? 2007-02-04 20:43 ` Jon Harrop @ 2007-02-04 23:30 ` skaller 0 siblings, 0 replies; 7+ messages in thread From: skaller @ 2007-02-04 23:30 UTC (permalink / raw) To: Jon Harrop; +Cc: caml-list On Sun, 2007-02-04 at 20:43 +0000, Jon Harrop wrote: > Most OO design patterns are redundant in OCaml. Basically, most OO design > patterns solve problems creating by OO in the first place... I agree but this is only half the story. Ocaml has objects, and is basically an imperative language. But it also has gc, variants, modules, functors, type inference, and lexically scoped intensionally polymorphic functions with closures. I would say it isn't Ocaml but its user base that is 'functionally oriented'. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] Modeling tool for OCaml? 2007-02-04 18:41 ` Julien Peeters 2007-02-04 20:43 ` Jon Harrop @ 2007-02-05 10:00 ` Stéphane DUPRAT 1 sibling, 0 replies; 7+ messages in thread From: Stéphane DUPRAT @ 2007-02-05 10:00 UTC (permalink / raw) To: Julien Peeters, caml-list [-- Attachment #1: Type: text/plain, Size: 1809 bytes --] I'd quite the same question one week ago. As we see in the home page of ocaml at INRIA, "/Caml supports functional, imperative, and object-oriented programming styles/". I think that you are interested by the functional one. So, even if Ocaml allows you to make algorithm with the imperative features, it is interesting to make programs without them almost for two reasons : - this is an other way to think your program - for a better quality of your program (less global var => less side-effects) according to my little experience As for designing method, it seems that flow charts are generally convenient but not for all (ex: concept of interface with signature of a module). As for me, I almost need a design language to describe a project that is already developed and data-flow could be extracted from the code (this is doc-generation). At a higher level, if you want to describe organization of you project into modules and libraries, you can use component diagram in UML to have a standard representation. I regret that modeling tools are not used for ocaml development, I think it could be better to share same methods and representation in that domain. Stéphane Duprat Julien Peeters a écrit : > Ok, > > Thanks all ones for answers... > > I imagine that designing applications with functional languages is much > different than with imperative ones. > I was wondering on which points the difference is significant? > Does common oriented object design patterns can be used with OCaml? > And what, for a developer, is the work to do to change his way of > thinking? > > I envisage to learn OCaml deeply and than I want to set the basis to do > the change from imperative languages to functional ones. > > P.S. : somebody have reference books which goes over this subject? > [-- Attachment #2: Type: text/html, Size: 2185 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-02-05 10:00 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2007-02-04 15:33 Modeling tool for OCaml? Julien Peeters 2007-02-04 17:40 ` [Caml-list] " Robert Fischer 2007-02-04 17:56 ` Alwyn Goodloe 2007-02-04 18:41 ` Julien Peeters 2007-02-04 20:43 ` Jon Harrop 2007-02-04 23:30 ` skaller 2007-02-05 10:00 ` Stéphane DUPRAT
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox