Re: Ocaml applications

"[email protected] [ocaml_beginners]" <[email protected]> Thu, 14 Apr 2016 10:54:57 +0000 (UTC)
Newsgroups gmane.comp.lang.ocaml.beginners
Message-ID <[email protected]>
Thanks a lot Herr.Yes, Ruby is popular. My view is if you are developing these kind of applications(non-web) , latency should be low and comparable with C++/Java.  for example, imap server in Ocaml or text search library.  i am not sure how is compared to Java-James  or Apache Lucene . or Erlang one. Currently i am not working in the niche areas mentioned. Mainly text search.Thanks again for info.
RegardsPd
 

    On Thursday, April 14, 2016 1:04 PM, "'Mr. Herr' [email protected] [ocaml_beginners]" <[email protected]> wrote:
 

      trying some answers, see inline
 
 On 14.04.2016 05:55, [email protected] [ocaml_beginners] wrote:
  
    Hello, I am new to Ocaml and thinking of learning. 
   
 Congratulations. OCaml is one of the big sources for feature inspiration these times.
 
    What are typical use cases of Ocaml ? What kind of applications Ocaml fits in ?    
 see http://ocaml.org/learn/success.html. 
 
 To be honest OCaml is more a niche language, but with unique features, so 
 it will be used in many kinds of applications, by people who have special knowlegde and expertise in informatics.
 
 It's origins are in mathematics and logic, so a big special application is computer aided correctness proofs (formal methods).
 
     I read that its quite fast(possibly as Java) .    
 It has compact byte code, it can be run as a script, and it can be compiled to native code needing only the system libc. 
 
 And yes, it can be fast. If being fast were the main consideration, Ruby would never have seen more than a bunch of users.
 
     Does it fit in developing network servers ? How matured  Ocaml libraries are in developing socket/network  based applications ?  
     
 Read about https://mirage.io/ MirageOS: writing a minimal operating system running directly on Xen and hosting your application.
  
    May be foolish question- Does Ocaml make native C call  for writing to say Socket or File ? 
     
 It uses libc which is recommended on *nix systems because it abstracts away many details of the binary API.
 
 To be precise "native C call" should rather be "native library call", unix .so libraries are compiled to machine code
 and can be called by any other machine code respecting the calling conventions. 
 
 Other platforms: on MS Windows there is F#, which is a .NET offspring of OCaml.
 
 /Str.
  #yiv2595185634 #yiv2595185634 -- #yiv2595185634ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv2595185634 #yiv2595185634ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv2595185634 #yiv2595185634ygrp-mkp #yiv2595185634hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv2595185634 #yiv2595185634ygrp-mkp #yiv2595185634ads {margin-bottom:10px;}#yiv2595185634 #yiv2595185634ygrp-mkp .yiv2595185634ad {padding:0 0;}#yiv2595185634 #yiv2595185634ygrp-mkp .yiv2595185634ad p {margin:0;}#yiv2595185634 #yiv2595185634ygrp-mkp .yiv2595185634ad a {color:#0000ff;text-decoration:none;}#yiv2595185634 #yiv2595185634ygrp-sponsor #yiv2595185634ygrp-lc {font-family:Arial;}#yiv2595185634 #yiv2595185634ygrp-sponsor #yiv2595185634ygrp-lc #yiv2595185634hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv2595185634 #yiv2595185634ygrp-sponsor #yiv2595185634ygrp-lc .yiv2595185634ad {margin-bottom:10px;padding:0 0;}#yiv2595185634 #yiv2595185634actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv2595185634 #yiv2595185634activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv2595185634 #yiv2595185634activity span {font-weight:700;}#yiv2595185634 #yiv2595185634activity span:first-child {text-transform:uppercase;}#yiv2595185634 #yiv2595185634activity span a {color:#5085b6;text-decoration:none;}#yiv2595185634 #yiv2595185634activity span span {color:#ff7900;}#yiv2595185634 #yiv2595185634activity span .yiv2595185634underline {text-decoration:underline;}#yiv2595185634 .yiv2595185634attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv2595185634 .yiv2595185634attach div a {text-decoration:none;}#yiv2595185634 .yiv2595185634attach img {border:none;padding-right:5px;}#yiv2595185634 .yiv2595185634attach label {display:block;margin-bottom:5px;}#yiv2595185634 .yiv2595185634attach label a {text-decoration:none;}#yiv2595185634 blockquote {margin:0 0 0 4px;}#yiv2595185634 .yiv2595185634bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv2595185634 .yiv2595185634bold a {text-decoration:none;}#yiv2595185634 dd.yiv2595185634last p a {font-family:Verdana;font-weight:700;}#yiv2595185634 dd.yiv2595185634last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv2595185634 dd.yiv2595185634last p span.yiv2595185634yshortcuts {margin-right:0;}#yiv2595185634 div.yiv2595185634attach-table div div a {text-decoration:none;}#yiv2595185634 div.yiv2595185634attach-table {width:400px;}#yiv2595185634 div.yiv2595185634file-title a, #yiv2595185634 div.yiv2595185634file-title a:active, #yiv2595185634 div.yiv2595185634file-title a:hover, #yiv2595185634 div.yiv2595185634file-title a:visited {text-decoration:none;}#yiv2595185634 div.yiv2595185634photo-title a, #yiv2595185634 div.yiv2595185634photo-title a:active, #yiv2595185634 div.yiv2595185634photo-title a:hover, #yiv2595185634 div.yiv2595185634photo-title a:visited {text-decoration:none;}#yiv2595185634 div#yiv2595185634ygrp-mlmsg #yiv2595185634ygrp-msg p a span.yiv2595185634yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv2595185634 .yiv2595185634green {color:#628c2a;}#yiv2595185634 .yiv2595185634MsoNormal {margin:0 0 0 0;}#yiv2595185634 o {font-size:0;}#yiv2595185634 #yiv2595185634photos div {float:left;width:72px;}#yiv2595185634 #yiv2595185634photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv2595185634 #yiv2595185634photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv2595185634 #yiv2595185634reco-category {font-size:77%;}#yiv2595185634 #yiv2595185634reco-desc {font-size:77%;}#yiv2595185634 .yiv2595185634replbq {margin:4px;}#yiv2595185634 #yiv2595185634ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv2595185634 #yiv2595185634ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv2595185634 #yiv2595185634ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv2595185634 #yiv2595185634ygrp-mlmsg select, #yiv2595185634 input, #yiv2595185634 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv2595185634 #yiv2595185634ygrp-mlmsg pre, #yiv2595185634 code {font:115% monospace;}#yiv2595185634 #yiv2595185634ygrp-mlmsg * {line-height:1.22em;}#yiv2595185634 #yiv2595185634ygrp-mlmsg #yiv2595185634logo {padding-bottom:10px;}#yiv2595185634 #yiv2595185634ygrp-msg p a {font-family:Verdana;}#yiv2595185634 #yiv2595185634ygrp-msg p#yiv2595185634attach-count span {color:#1E66AE;font-weight:700;}#yiv2595185634 #yiv2595185634ygrp-reco #yiv2595185634reco-head {color:#ff7900;font-weight:700;}#yiv2595185634 #yiv2595185634ygrp-reco {margin-bottom:20px;padding:0px;}#yiv2595185634 #yiv2595185634ygrp-sponsor #yiv2595185634ov li a {font-size:130%;text-decoration:none;}#yiv2595185634 #yiv2595185634ygrp-sponsor #yiv2595185634ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv2595185634 #yiv2595185634ygrp-sponsor #yiv2595185634ov ul {margin:0;padding:0 0 0 8px;}#yiv2595185634 #yiv2595185634ygrp-text {font-family:Georgia;}#yiv2595185634 #yiv2595185634ygrp-text p {margin:0 0 1em 0;}#yiv2595185634 #yiv2595185634ygrp-text tt {font-size:120%;}#yiv2595185634 #yiv2595185634ygrp-vital ul li:last-child {border-right:none !important;}#yiv2595185634