comp.lang.ada
 help / color / mirror / Atom feed
From: Phil Clayton <phil.clayton@lineone.net>
Subject: Re: Some exciting new trends in concurrency and software design
Date: Thu, 23 Jun 2011 18:26:57 -0700 (PDT)
Date: 2011-06-23T18:26:57-07:00	[thread overview]
Message-ID: <1fb2bb30-a267-4e19-b4c6-08c35d74484a@u7g2000yqc.googlegroups.com> (raw)
In-Reply-To: 4e03bb73$0$6584$9b4e6d93@newsspool3.arcor-online.net

On Jun 23, 11:17 pm, Georg Bauhaus <rm.dash-bauh...@futureapps.de>
wrote:
> The reason that in the context of FPLs I'm mentioning this pattern (of
> deliberately ignoring some things being a cause and expensive work
> being an effect) is that one of these languages, the ATS language, is
> really highly efficient by design and also includes a proof system
> right in the language. It has safe pointers, too. So it would seem
> promising.  Even as a layman, I am sure there are many interesting
> advancedfeatures in ATS.
>
> But as usual, some things have been ignored.

I don't know about ATS but can usefully add some points...


> As far as I can tell, at least these:
>
> The numeric types are, by default, basically int of ISO/IEC 9899 (C).

Arbitrary magnitude integers are supported in at least SML, OCaml and
Haskell.


> O'Caml appears to be operating at a similar level, if my copy
> isn't broken:
>
> # let i = 4000000000;;
> val i : int = 4000000000
> # i * i;;
> - : int = -2446744073709551616
> #
>
> The puzzling issue is why don't functional programmers just copy
> the solution from Lisp, such as CMUCL?  Or from Python? Are they
> ignoring even "their own relatives"?

OCaml:
  #load "nums.cma";;
  open Big_int;;
  let i = big_int_of_int 4000000000;;
  string_of_big_int (mult_big_int i i);;

SML:
  open IntInf;  (* not required if structure Int is IntInf *)
  val i = 4000000000;
  i * i;


> Syntax. Programmers will need initiation into another interpretation
> of ASCII punctuation.  ATS does use ASCII symbols, which may be a lot
> better than words insofar as symbols are as international as "+".
> The symbols have precisely specified meanings. But they have these
> meanings in just this language.  How many programmers use just
> one language?  The situation is worsened by overloading ASCII
> symbols, which according to Australian studies does not seem
> to help newcomers understand source text.

My guess is that in the FP world, there is more variation in syntax
because there was no dominant language for the flock to follow.

Overloading of arithmetic operators, as in SML above, seems preferable
to having a different name for e.g. "+" for each type.


> Concurrency.  ATS does address concurreny---with POSIX threads
> and such. Well, that's at least something. Or maybe not?

There is Concurrent Haskell which I know nothing about.  For SML, Poly/
ML provides an interface to the pthreads library that has been used to
provide a higher-level concurrency interface:
http://www4.in.tum.de/~wenzelm/papers/parallel-ml.pdf
I'm not sure which others offer true concurrency.

I generally agree that many FPLs lack essential features.

Phil



  reply	other threads:[~2011-06-24  1:26 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-20 10:49 Some exciting new trends in concurrency and software design jonathan
2011-06-20 14:40 ` Georg Bauhaus
2011-06-20 14:48   ` Georg Bauhaus
2011-06-20 23:56   ` jonathan
2011-06-21  9:36     ` steveh44
2011-06-21 13:04       ` Phil Clayton
2011-06-22  0:37       ` Shark8
2011-06-22  9:45       ` anon
2011-06-29 21:39         ` Robert A Duff
2011-06-30 16:52           ` anon
2011-07-01 18:31             ` Shark8
2011-06-23  9:59       ` Yannick Duchêne (Hibou57)
2011-06-23 10:25         ` Dmitry A. Kazakov
2011-06-23 10:57           ` Yannick Duchêne (Hibou57)
2011-06-23 12:20             ` Dmitry A. Kazakov
2011-06-23 22:17             ` Georg Bauhaus
2011-06-24  1:26               ` Phil Clayton [this message]
2011-06-24  1:34                 ` Yannick Duchêne (Hibou57)
2011-06-24 10:41                 ` Georg Bauhaus
2011-06-24  1:27               ` Yannick Duchêne (Hibou57)
2011-06-24 10:32                 ` Georg Bauhaus
2011-06-24 13:45                   ` Yannick Duchêne (Hibou57)
2011-06-21 12:19     ` Dmitry A. Kazakov
2011-06-21 12:14   ` Phil Clayton
2011-06-22  8:39   ` Oliver Kleinke
2011-06-23  2:48     ` Nasser M. Abbasi
2011-06-23  9:23   ` Yannick Duchêne (Hibou57)
2011-06-23 10:03     ` Nasser M. Abbasi
2011-06-23 11:07       ` Yannick Duchêne (Hibou57)
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox