comp.lang.ada
 help / color / mirror / Atom feed
From: "Alejandro R. Mosteo" <alejandro@mosteo.com>
Subject: Re: "functional" programming in Ada
Date: Thu, 8 Mar 2018 12:07:34 +0100
Date: 2018-03-08T12:07:34+01:00	[thread overview]
Message-ID: <p7r5ho$g9d$1@dont-email.me> (raw)
In-Reply-To: <871sgvtmwx.fsf@nightsong.com>

On 08/03/18 01:45, Paul Rubin wrote:
> "Alejandro R. Mosteo" <alejandro@mosteo.com> writes:
>> Recommendations for current functional languages? I know only of
>> Haskell (and only by name).

Wow, thank you everybody for the suggestions and explanations. That's a 
bunch of interesting possibilities.

In another life I was proficient in Lisp and Prolog, but now I'm doing 
Ada when not scripting... so there's something attractive in every choice.

I guess I'll wait for some outward influence to push me in an avoidable 
direction ;-)

Álex.

> 
> If you want to get a deep understanding of what FP is about as a
> programming language topic, I'd go with Haskell.  Be aware that Haskell
> does things the way mathematicians do things: very rigorous and precise
> at the actual logical level, but more casual and relaxed at the
> organizational level.
> 
> If you want something more like Ada, i.e. designed with attention to
> large-scale engineering features like separating spec from
> implementation, try Standard ML or the somewhat looser OCaml.  Either of
> these will be a less mathematically rigorous than Haskell at the value
> and expression level, but have a much more serious module system,
> something like Ada's.
> 
> Erlang and Elixir are more like Lisp or Python: they give a very quick
> and productive way to get simple things done, without much help for
> larger-scale rigor.  The interesting thing about them is their
> concurrency system implements what the programmer sees as isolated
> lightweight processes communicating by message passing.  That means you
> can split a big problem into smaller ones, so you can use low-tech
> methods on the small problems, letting the process isolation keep the
> subproblem solutions from interfering with each other too much.
> 
> FWIW you can think of Erlang as a concurrent Lisp system with a front
> end for a funky Prolog-like syntax.  Elixir is the same thing except the
> surface syntax is designed to look like Ruby.  There's also LFE
> (Lisp-flavored Erlang), same idea except it looks like actual Lisp.
> 


  reply	other threads:[~2018-03-08 11:07 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-06 11:34 "functional" programming in Ada Alejandro R. Mosteo
2018-03-06 13:09 ` Dmitry A. Kazakov
2018-03-06 14:35   ` Alejandro R. Mosteo
2018-03-06 15:08     ` Dmitry A. Kazakov
2018-03-06 16:00       ` Manuel Collado
2018-03-06 16:37         ` Dmitry A. Kazakov
2018-03-06 22:16           ` Manuel Collado
2018-03-07  8:41             ` Dmitry A. Kazakov
2018-03-07  4:46         ` Paul Rubin
2018-03-06 13:29 ` Mehdi Saada
2018-03-06 14:34   ` Alejandro R. Mosteo
2018-03-06 14:36     ` Mehdi Saada
2018-03-06 15:27       ` Alejandro R. Mosteo
2018-03-06 16:26       ` Jeffrey R. Carter
2018-03-06 20:17       ` Randy Brukardt
2018-03-07 14:30         ` Alejandro R. Mosteo
2018-03-06 15:01 ` Dan'l Miller
2018-03-06 15:25   ` Alejandro R. Mosteo
2018-03-07 10:07 ` Maciej Sobczak
2018-03-07 10:52   ` Mehdi Saada
2018-03-07 13:11     ` Pascal Obry
2018-03-07 13:53       ` Dmitry A. Kazakov
2018-03-07 16:13       ` Dan'l Miller
2018-03-12  0:13         ` Robert I. Eachus
2018-03-08  3:34       ` Randy Brukardt
2018-03-08  8:23         ` Dmitry A. Kazakov
2018-03-08 22:49           ` G. B.
2018-03-09  8:38             ` Dmitry A. Kazakov
2018-03-09  8:40           ` Simon Wright
2018-03-09 13:39             ` Dmitry A. Kazakov
2018-03-07 15:03   ` Alejandro R. Mosteo
2018-03-07 15:16     ` Alejandro R. Mosteo
2018-03-07 20:34     ` Robert A Duff
2018-03-07 22:47     ` Jeffrey R. Carter
2018-03-08  0:26     ` Shark8
2018-03-08  0:45     ` Paul Rubin
2018-03-08 11:07       ` Alejandro R. Mosteo [this message]
2018-03-08 18:24 ` G. B.
2018-03-09 14:41   ` Alejandro R. Mosteo
replies disabled

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