caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Networking Application
@ 2014-09-22 11:55 brian.e.mulhall
  2014-09-22 13:19 ` Yaron Minsky
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: brian.e.mulhall @ 2014-09-22 11:55 UTC (permalink / raw)
  To: caml-list

Hello All,

I work for a large US engineering firm and I am trying to find a way for our
team to do more with less, due to budgetary cutbacks in our engineering
center.

With that being said we have an existing java application that is in dire need
of a rewrite. I have been interested in ML and subsequently OCAML for about 6
months and I am now looking for a way to integrate this passion of mine into
my work life. I see very real benefits from using this language at work and
its also applicable in our use case (we have a single core machine with
limited resources and I want us to use a cooperative threading library like
LWT or Async).

So I was wondering if people could point me in the direction of some open
source projects hosted on github that I can read through and try to emulate in
my proof of concept, sketch of a redesign that I show my supervisors. I
appreciate any help and since this is a side project it can be done right,
without any need to take hacky shortcuts.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Networking Application
  2014-09-22 11:55 [Caml-list] Networking Application brian.e.mulhall
@ 2014-09-22 13:19 ` Yaron Minsky
  2014-09-22 13:52 ` Siraaj Khandkar
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Yaron Minsky @ 2014-09-22 13:19 UTC (permalink / raw)
  To: brian.e.mulhall; +Cc: caml-list

If you're looking for good examples of coding practice at the library
level, I think the Jane Street libraries (in particular, core_kernel,
core, async_kernel, async_unix, async_extra) are a pretty good source
of example code.

Must of what we've released is libraries rather than applications at
this point, so the Jane Street libraries will only get you so far.
Jenga (our build system) is one application we have released, but it's
not something you can easily take for a spin just yet.

y

On Mon, Sep 22, 2014 at 7:55 AM,  <brian.e.mulhall@gmail.com> wrote:
> Hello All,
>
> I work for a large US engineering firm and I am trying to find a way for our
> team to do more with less, due to budgetary cutbacks in our engineering
> center.
>
> With that being said we have an existing java application that is in dire need
> of a rewrite. I have been interested in ML and subsequently OCAML for about 6
> months and I am now looking for a way to integrate this passion of mine into
> my work life. I see very real benefits from using this language at work and
> its also applicable in our use case (we have a single core machine with
> limited resources and I want us to use a cooperative threading library like
> LWT or Async).
>
> So I was wondering if people could point me in the direction of some open
> source projects hosted on github that I can read through and try to emulate in
> my proof of concept, sketch of a redesign that I show my supervisors. I
> appreciate any help and since this is a side project it can be done right,
> without any need to take hacky shortcuts.
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Networking Application
  2014-09-22 11:55 [Caml-list] Networking Application brian.e.mulhall
  2014-09-22 13:19 ` Yaron Minsky
@ 2014-09-22 13:52 ` Siraaj Khandkar
  2014-09-22 16:03 ` jeff tansley
  2014-09-22 16:25 ` Xavier Leroy
  3 siblings, 0 replies; 6+ messages in thread
From: Siraaj Khandkar @ 2014-09-22 13:52 UTC (permalink / raw)
  To: caml-list

On 09/22/2014 07:55 AM, brian.e.mulhall@gmail.com wrote:
> Hello All,
>
> I work for a large US engineering firm and I am trying to find a way for our
> team to do more with less, due to budgetary cutbacks in our engineering
> center.
>
> With that being said we have an existing java application that is in dire need
> of a rewrite. I have been interested in ML and subsequently OCAML for about 6
> months and I am now looking for a way to integrate this passion of mine into
> my work life. I see very real benefits from using this language at work and
> its also applicable in our use case (we have a single core machine with
> limited resources and I want us to use a cooperative threading library like
> LWT or Async).
>
> So I was wondering if people could point me in the direction of some open
> source projects hosted on github that I can read through and try to emulate in
> my proof of concept, sketch of a redesign that I show my supervisors. I
> appreciate any help and since this is a side project it can be done right,
> without any need to take hacky shortcuts.

Generally, some of the best examples of code organization (regardless of 
language, actually) are in Jane Street libraries, so def look through 
those (as Yaron already said).

Specifically to your question and use-case, there was a talk at last 
year's OUD, in Boston, about a software-defined networking controller 
implemented in OCaml:

- paper: https://ocaml.org/meetings/ocaml/2013/proposals/frenetic.pdf
- slides: https://ocaml.org/meetings/ocaml/2013/slides/guha.pdf
- code: https://github.com/frenetic-lang/frenetic

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [Caml-list] Networking Application
  2014-09-22 11:55 [Caml-list] Networking Application brian.e.mulhall
  2014-09-22 13:19 ` Yaron Minsky
  2014-09-22 13:52 ` Siraaj Khandkar
@ 2014-09-22 16:03 ` jeff tansley
  2014-09-22 16:39   ` Yotam Barnoy
  2014-09-22 16:25 ` Xavier Leroy
  3 siblings, 1 reply; 6+ messages in thread
From: jeff tansley @ 2014-09-22 16:03 UTC (permalink / raw)
  To: brian.e.mulhall, caml-list

Hi Brian,

Simple real advice - forget it - unless you are trying to get yourself
fired. 
Whatever might be said on this list you will only be adding to what I
suspect is a bit of a software nightmare. Unless of course you have the
management power and intellect to tidy this up first but if this were the
case you wouldn't be mailing this list.
Just understand the stuff that Yaron points you at and look for another
appointment.

JBT

-----Original Message-----
From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr] On
Behalf Of brian.e.mulhall@gmail.com
Sent: 22 September 2014 12:55
To: caml-list@inria.fr
Subject: [Caml-list] Networking Application

Hello All,

I work for a large US engineering firm and I am trying to find a way for our
team to do more with less, due to budgetary cutbacks in our engineering
center.

With that being said we have an existing java application that is in dire
need of a rewrite. I have been interested in ML and subsequently OCAML for
about 6 months and I am now looking for a way to integrate this passion of
mine into my work life. I see very real benefits from using this language at
work and its also applicable in our use case (we have a single core machine
with limited resources and I want us to use a cooperative threading library
like LWT or Async).

So I was wondering if people could point me in the direction of some open
source projects hosted on github that I can read through and try to emulate
in my proof of concept, sketch of a redesign that I show my supervisors. I
appreciate any help and since this is a side project it can be done right,
without any need to take hacky shortcuts.

--
Caml-list mailing list.  Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Networking Application
  2014-09-22 11:55 [Caml-list] Networking Application brian.e.mulhall
                   ` (2 preceding siblings ...)
  2014-09-22 16:03 ` jeff tansley
@ 2014-09-22 16:25 ` Xavier Leroy
  3 siblings, 0 replies; 6+ messages in thread
From: Xavier Leroy @ 2014-09-22 16:25 UTC (permalink / raw)
  To: brian.e.mulhall, caml-list

On 22/09/14 13:55, brian.e.mulhall@gmail.com wrote:
> So I was wondering if people could point me in the direction of some open
> source projects hosted on github that I can read through and try to emulate in
> my proof of concept

Based on your Subject line and mention of LWT and Async, I guess
you're interested in network and systems programming in OCaml.  There
is a tutorial by Didier Rémy and I on this topic:
  http://ocamlunix.forge.ocamlcore.org/
but it doesn't use LWT and the "applications" it shows are tiny.

A realistic application using LWT is the Unison file synchronizer:
  http://www.cis.upenn.edu/~bcpierce/unison/

Also based on LWT, there is the Ocsigen suite for Web programming:
  http://ocsigen.org/

Hope this helps,

- Xavier

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Networking Application
  2014-09-22 16:03 ` jeff tansley
@ 2014-09-22 16:39   ` Yotam Barnoy
  0 siblings, 0 replies; 6+ messages in thread
From: Yotam Barnoy @ 2014-09-22 16:39 UTC (permalink / raw)
  To: jeff tansley; +Cc: brian.e.mulhall, Ocaml Mailing List

[-- Attachment #1: Type: text/plain, Size: 2879 bytes --]

Wow. Those are some harsh words, Jeff. Honestly, I don't see where you're
coming from with these comments.

What I would tell Brian though is the following: with 6 months of
experience in ocaml, you may not have the ability to sell ocaml and its
functional paradigm to a company that has a preconceived notion of what
programming should be like. You'll encounter some difficulties - the same
as with any language - and without the experience to deal with these
hiccups, it'll be tough to convince your bosses to shift to a different way
of thinking about programming. Tough, but doable.

-Yotam

On Mon, Sep 22, 2014 at 12:03 PM, jeff tansley <jeff.tansley@btinternet.com>
wrote:

> Hi Brian,
>
> Simple real advice - forget it - unless you are trying to get yourself
> fired.
> Whatever might be said on this list you will only be adding to what I
> suspect is a bit of a software nightmare. Unless of course you have the
> management power and intellect to tidy this up first but if this were the
> case you wouldn't be mailing this list.
> Just understand the stuff that Yaron points you at and look for another
> appointment.
>
> JBT
>
> -----Original Message-----
> From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr] On
> Behalf Of brian.e.mulhall@gmail.com
> Sent: 22 September 2014 12:55
> To: caml-list@inria.fr
> Subject: [Caml-list] Networking Application
>
> Hello All,
>
> I work for a large US engineering firm and I am trying to find a way for
> our
> team to do more with less, due to budgetary cutbacks in our engineering
> center.
>
> With that being said we have an existing java application that is in dire
> need of a rewrite. I have been interested in ML and subsequently OCAML for
> about 6 months and I am now looking for a way to integrate this passion of
> mine into my work life. I see very real benefits from using this language
> at
> work and its also applicable in our use case (we have a single core machine
> with limited resources and I want us to use a cooperative threading library
> like LWT or Async).
>
> So I was wondering if people could point me in the direction of some open
> source projects hosted on github that I can read through and try to emulate
> in my proof of concept, sketch of a redesign that I show my supervisors. I
> appreciate any help and since this is a side project it can be done right,
> without any need to take hacky shortcuts.
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 4089 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-09-22 16:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-22 11:55 [Caml-list] Networking Application brian.e.mulhall
2014-09-22 13:19 ` Yaron Minsky
2014-09-22 13:52 ` Siraaj Khandkar
2014-09-22 16:03 ` jeff tansley
2014-09-22 16:39   ` Yotam Barnoy
2014-09-22 16:25 ` Xavier Leroy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).