Amal Ahmed | 1 Sep 2008 04:23

TLDI 2009 Call for Papers

*********************************************************************
                           CALL FOR PAPERS

                              TLDI 2009 

                        ACM SIGPLAN Workshop on
             Types in Language Design and Implementation 

                           24 January 2009                         
                        Savannah, Georgia, USA

              To be held in conjunction with POPL 2009

              http://ttic.uchicago.edu/~amal/tldi2009/
*********************************************************************

IMPORTANT DATES

Submission:     8 Oct 2008, 5PM EDT (Wed)
Notification:   8 Nov 2008 (Sat)
Camera ready:   19 Nov 2008 (Wed)
TLDI'09:        24 January 2009 (Sat)

SCOPE

The role of types and proofs in all aspects of language design,
compiler construction, and software development has expanded greatly
in recent years. Type systems, type analyses, and formal deduction
have led to new concepts in compilation techniques for modern
programming languages, verification of safety and security properties
(Continue reading)

Martin Jambon | 1 Sep 2008 14:28

Re: How to join ocaml-tutorial.org?

On Sun, 31 Aug 2008, Richard Jones wrote:

> On Sun, Aug 31, 2008 at 03:40:42PM +0200, Martin Jambon wrote:
>> Is it possible to create new user accounts to edit the OCaml tutorial at
>> http://ocaml-tutorial.org/ ?
>>
>> http://ocaml-tutorial.org/_login says "This site is only available for use
>> to registered members. If you believe that you should be a member of this
>> site, please contact the administrator with your email address and reason
>> for joining."
>>
>> But it doesn't says who the administrator is. Richard, do you still have
>> the admin rights? If not, what's the cheapest solution to circumvent the
>> problem?
>
> Yes it is possible, and yes I still do have admin rights (I should
> hope, since I run the domain & servers :-)  Because of a huge amount of
> spam I was forced to disable free account creation a few months ago.

Now I'm seeing this on the bottom of the first page: "This website is a 
wiki. This means you can edit any page to correct mistakes or improve the 
tutorial. Because of spammers signing up endless fake accounts, I have 
disabled new account creation. Please email rich on-the-annexia.org 
server for a new account."

I think it would be great if you could make this info visible on
http://ocaml-tutorial.org/_login

> I've sent an email invite to your current email address.  Anyone else
> who has problems, please send me an email and include 'ocaml'
(Continue reading)

Peng Zang | 1 Sep 2008 18:36
Picon

Re: Ocaml, a practical functional language?


On Saturday 30 August 2008 03:50:30 pm circ ular wrote:
> I have tried a lot of languages but never really felt 100% satisfied.
> I really like Python, it makes me very productive but Iwant something
> a little more functionally oriented plus a static(optionally declared)
> typesystem.
>
> I tried Haskell and I really like it but I find it hard to get used to
> some things(like no destructive updates of datastructures outside the
> IO Monad).
> Ocaml seems a little bit more practical and it is aslo very fast(well
> haskell is too).
>
> tried lisp at first but libraries and documentation just werent up to
> standards there either.
>
> so far Pytho is the best Ive found (for me) but still isn't satisfied.
>
> could ocaml be what I look for?

I think OCaml is what you are looking for.  I went through a similar search 
for a comfortable language.  My order was a bit different, lisp first, then 
python, then OCaml, then played a bit with Haskell but am sticking with 
OCaml.

I find OCaml to be a great compromise.  Haskell is cool, but it forces you to 
do things in certain ways and use a lot of abstraction which often seems 
overkill, making simple things much harder than they should be.  I really 
like how easy things are in Python but large programs I find are impossible 
to maintain because it's not statically typed (it's also slow.. but that 
(Continue reading)

Luca de Alfaro | 1 Sep 2008 19:48
Gravatar

Re: Ocaml, a practical functional language?

I also cast my vote for Ocaml.
Ocaml is the best compromise between pleasure of coding, speed of code, the compiler working for you (strong type checking = most bugs found at compile time).  Memory management is much better than in Python.
I particularly favor Ocaml for largish projects.  There, the type system helps you gain confidence that the part of the system that you did not touch in a change (typically, 99%) is unaffected by the change.  This makes debugging and development much easier and painless.  I certainly would not imagine any more developing in languages where any change may break far-away things without warning.

And where else can you find a debugger that can execute code (or give you the impression it does) backwards? 
This is invaluable when trying to find things like where an exception is thrown: you simply run the code until it exits throwing the exception, then you back off a few steps until you find what is throwing the exception and why.  C programmers grappling with Segmentation Faults are very surprised to see this style of debugging!
And even though Ocaml was born as a functional language, I am happy using it even for code that has to access databases and interact with the web; see http://trust.cse.ucsc.edu/WikiTrust .

The one drawback of Ocaml is that it is harder to find developers for it.  But this can be an advantage as well: since the barrier to entry is slightly higher, a typical Ocaml programmer tends to be a better programmer than a typical perl or C++ programmer, in my limited experience.

Luca

On Mon, Sep 1, 2008 at 9:36 AM, Peng Zang <peng.zang <at> gmail.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Saturday 30 August 2008 03:50:30 pm circ ular wrote:
> I have tried a lot of languages but never really felt 100% satisfied.
> I really like Python, it makes me very productive but Iwant something
> a little more functionally oriented plus a static(optionally declared)
> typesystem.
>
> I tried Haskell and I really like it but I find it hard to get used to
> some things(like no destructive updates of datastructures outside the
> IO Monad).
> Ocaml seems a little bit more practical and it is aslo very fast(well
> haskell is too).
>
> tried lisp at first but libraries and documentation just werent up to
> standards there either.
>
> so far Pytho is the best Ive found (for me) but still isn't satisfied.
>
> could ocaml be what I look for?

I think OCaml is what you are looking for.  I went through a similar search
for a comfortable language.  My order was a bit different, lisp first, then
python, then OCaml, then played a bit with Haskell but am sticking with
OCaml.

I find OCaml to be a great compromise.  Haskell is cool, but it forces you to
do things in certain ways and use a lot of abstraction which often seems
overkill, making simple things much harder than they should be.  I really
like how easy things are in Python but large programs I find are impossible
to maintain because it's not statically typed (it's also slow.. but that
might have been ok).  Lisp is really great with what you can do and many
simple things are simple, but it doesn't have the scaffolding to let you
scale up to big stuff (missing libs and stuff).  OCaml has been great.  It
has its drawbacks and yucky corner cases like all languages.  Overall though,
it's been good and I've been able to find reasonable workarounds for things I
don't like.  I encourage you to give it a serious try.

There's a great book on OCaml here:

 http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf

The best emacs mode for ocaml is tuareg mode here:

 http://www-rocq.inria.fr/~acohen/tuareg/

I also write some additional on top of tuareg mode to be more like the SLIME
mode for lisp but it's alpha (mostly because I wrote it for myself and
packaging it and making robust is a lot of work that I'm too busy to handle)
so I don't really recommend it yet.

Peng
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)

iD8DBQFIvBosfIRcEFL/JewRAv4kAJ40DMoR1GZd1LagWMwR1umbEglLVwCfaMoP
F9jaCP+f2iJvqU/ZxVs+Czs=
=k9FZ
-----END PGP SIGNATURE-----

_______________________________________________
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

_______________________________________________
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
Matt Gushee | 1 Sep 2008 20:02

Re: ANN: Batteries Included Release 0

David Teller wrote:
> Auto-generated documentation has just been uploaded [3]. As you may see,
> the default presentation of OCamlDoc is possibly not quite what we need.
> If you wish to help us develop a nice OCamlDoc plug-in to obtain
> something more readable, please contact us.

I see that the headings and function signatures are not formatted as one 
would expect, but that is apparently because the doc is being accessed 
by FTP (why?), so the CSS stylesheet is not included. Is that what you 
mean, or is it something else?

--

-- 
Matt Gushee
: Bantam - lightweight file manager : matt.gushee.net/software/bantam/ :
: RASCL's A Simple Configuration Language :     matt.gushee.net/rascl/ :

_______________________________________________
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

blue storm | 1 Sep 2008 20:13
Picon
Gravatar

Re: ANN: Batteries Included Release 0

On Mon, Sep 1, 2008 at 8:02 PM, Matt Gushee <matt <at> gushee.net> wrote:
> I see that the headings and function signatures are not formatted as one
> would expect, but that is apparently because the doc is being accessed by
> FTP (why?), so the CSS stylesheet is not included. Is that what you mean, or
> is it something else?

I have to apologize : i'm responsible for the problem here. I
originally uploaded the documentation on my website, wich is fine,
then preferred a "forge" location.
Seems ftp was not a choice that clever after all. I just modified the
link to put the external http link back.

(It is actually the plain ocamldoc-generated documentation, that you
can generate from the project sources using 'make doc')

Sorry for the disturbance.

_______________________________________________
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

Ulf Wiger (TN/EAB | 1 Sep 2008 20:34
Picon
Favicon

Re: Ocaml, a practical functional language?

Luca de Alfaro skrev:
> And where else can you find a debugger that can execute code
 > (or give you the impression it does) backwards?
> This is invaluable when trying to find things like where an 
 > exception is thrown: you simply run the code until it exits
 > throwing the exception, then you back off a few steps until
 > you find what is throwing the exception and why.

FWIW, Omnis has had this since the early 90's.

http://www.omnis.net/products/studio/index.html?detail=whyomnis

(I think that's the successor of the Omnis 5 and 7 that I used
back then.)

I can certainly vouch for the amazing utility of such debugging.
It is priceless! I didn't know Ocaml could do that.

BR,
Ulf W

_______________________________________________
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

Sylvain Le Gall | 1 Sep 2008 21:38
Favicon
Gravatar

Re: ANN: Batteries Included Release 0

Hello,

On 01-09-2008, blue storm <bluestorm.dylc <at> gmail.com> wrote:
> On Mon, Sep 1, 2008 at 8:02 PM, Matt Gushee <matt <at> gushee.net> wrote:
>> I see that the headings and function signatures are not formatted as one
>> would expect, but that is apparently because the doc is being accessed by
>> FTP (why?), so the CSS stylesheet is not included. Is that what you mean, or
>> is it something else?
>
> I have to apologize : i'm responsible for the problem here. I
> originally uploaded the documentation on my website, wich is fine,
> then preferred a "forge" location.
> Seems ftp was not a choice that clever after all. I just modified the
> link to put the external http link back.
>
> (It is actually the plain ocamldoc-generated documentation, that you
> can generate from the project sources using 'make doc')
>
> Sorry for the disturbance.
>

The problem comes from the forge. I finish the configuration for the
homepage of projects. Now each projects has its own DNS name and
homepage.

Take a look at http://pa-do.forge.ocamlcore.org

You can do the same for batteries
http;//batteries.forge.ocamlcore.org 

You just have to upload the documentation file into 

/home/groups/batteries/htdocs/

and fix the homepage redirection (ask a batteries project
administrator). 

You should use "scp" to upload file into /home/groups/batteries/htdocs.
You could also build a whole website ;-)

This way you will have a real website (no more ftp around).

Regards,
Sylvain Le Gall

_______________________________________________
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

circ ular | 2 Sep 2008 05:23
Picon

is there a switch or cond-statement? + type-problem

how can I do like this or use cond or case?
def power(nbr, po):
    if po > 0:
        return nbr * power(nbr, po-1)
    if po < 0:
        return 1 / power(nbr, -1 * po)
    if po == 0:
        return 1

and ofc make it tailrecursive but that I know how.

also, how do I get it to be a float-function?

let rec powerx(n, pow, acc) =
    if pow > 0.0
	then powerx(n, pow -. 1, acc *. n)
	else if pow < 0.0
	    then 1.0 /. powerx(n, pow *. (-1), acc)
	    else acc ;;

Characters 70-71:
  	then powerx(n, pow -. 1, acc *. n)
                         ^
This expression has type int but is here used with type float
#

but it is used with float evrywhere no?

_______________________________________________
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

Chris Conway | 2 Sep 2008 06:02
Picon
Gravatar

Re: is there a switch or cond-statement? + type-problem

circ ular <circularfunc <at> gmail.com> writes:

> 
> how can I do like this or use cond or case?
> def power(nbr, po):
>     if po > 0:
>         return nbr * power(nbr, po-1)
>     if po < 0:
>         return 1 / power(nbr, -1 * po)
>     if po == 0:
>         return 1
> 
> and ofc make it tailrecursive but that I know how.

The closest thing to "cond" or "case" in OCaml is "match", but "if-then-else" is
probably clearer. In any case, here's how you could do it with "match":

let rec powerx(n, pow, acc) =
    match pow with
      | 0.0 -> acc
      | x when x < 0.0 -> 1.0 /. powerx(n, pow *. (-1.0), acc)
      | _ ->  powerx(n, pow -. 1.0, acc *. n);;

The "x" in the second case matches any floating point number, but the "when"
clause restricts it to negatives. The "_" in the last case therefore matches
only positive numbers.

> 
> also, how do I get it to be a float-function?
> 
> let rec powerx(n, pow, acc) =
>     if pow > 0.0
> 	then powerx(n, pow -. 1, acc *. n)
> 	else if pow < 0.0
> 	    then 1.0 /. powerx(n, pow *. (-1), acc)
> 	    else acc ;;
> 
> Characters 70-71:
>   	then powerx(n, pow -. 1, acc *. n)
>                          ^
> This expression has type int but is here used with type float
> #
> 
> but it is used with float evrywhere no?

"1" is a int constant. Use "1." or "1.0" for floats.

Regards,
Chris

> 
> _______________________________________________
> 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
> 
> 

_______________________________________________
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


Gmane