delphi programming forums mysql charset mget recursive synonimos
free ventrilo servers hosting cs javascript delay python find in list
Back Forum New
abstract:

- Passing function parameter by reference, works with native API libraries.
- Unlimited number and array size, I'm always do dynamic programming.
- ...
Plus the reason please...


By the way, if you want to make a new programming language(read:your perfect programming language), what is the good features of yours then?
E.g.:
- Explicit data-type declaration and conversion, it's make my code clear and bug-free.
- Passing function parameter by reference, works with native API libraries.
- Unlimited number and array size, I'm always do dynamic programming.
- ...
Plus the reason please...

TOP

I'd like a simple syntax, with a bunch of built in functions, for ease of use. :P
...AND NO DANG MODULES! *glares at Python*

TOP

Recipe for my perfect language:
- Every single concept in the language should be first-class, highly composible and easily understood. The aim here is to create a language that is extremely flexible and expressive, but not at the expense of simplicity.
This was my goal in creating Hula, an experimental programming language based on a unique classless object-system and refined multiple-dispatch.
Although this sounds complicated all it really means is that everything in the language is an object, and that methods can be created that operate upon those objects individually; the correct behavior is chosen based on the identity of every object in the call. This allows an unprecedented amount of control. Any object can change independently of every other object.
The language has no variables, no scope and no syntax. Conceptually, it’s works on the principle of direct manipulation. Users interact with objects in a graphical environment ala the Self programming language.
The resulting language may actually be terrible, but at least in theory this is "my perfect language" .
Take care,
Mark.

TOP

Most of the features I'm looking for are those of modern functional languages, e.g. haskell and ocaml, but with the addition of convenient-to-use dependent types. Type inference, referential transparency, pattern matching, higher order polymorphism, ADTs, GADTs. They all combine to produce elegant code.

TOP

abstract:

- Passing function parameter by reference, works with native API libraries.
- Unlimited number and array size, I'm always do dynamic programming.
- ...
Plus the reason please...



Originally Posted by jamieB
Most of the features I'm looking for are those of modern functional languages, e.g. haskell and ocaml, but with the addition of convenient-to-use dependent types. Type inference, referential transparency, pattern matching, higher order polymorphism, ADTs, GADTs. They all combine to produce elegant code.
I disagree: while those features may combine to enable elegant code they certainly don't combine to produce it, at least not for any informed definition of elegant (Edit: or produce).
I would argue that many of the features that are typically associated with functional programming aren't inherently features of functional programming. Unfortunately people tend to mistake the paradigm and the features exhibited by languages of that type.
The commonly held belief that functional programming automatically leads to better code is damaging. Stop it now .
Enjoy,
Mark.

TOP

I forgot some points which are even more fundamental --
Minimal syntax and a coherent foundation / core language. The bare minimum of odd one-off rules and gotchas (I don't know of any language that has none)
Static typing.
Higher order functions which allow currying and partial application.

TOP


Originally Posted by jamieB
I forgot some points which are even more fundamental --
Minimal syntax and a coherent foundation / core language. The bare minimum of odd one-off rules and gotchas (I don't know of any language that has none)
Static typing.
Higher order functions which allow currying and partial application.
Hi Jamie ,
Higher-order functions are okay... but wouldn't higher-order forms be better? The ability to create and return new semantic concepts would make higher-order functions obsolete.
Maybe I'm to close to the project but I'm quite fond of the Hula core. The only thing I can say against it is that perhaps it's overly flexible: there are no one-off rules, because there are no fixed rules. I can't think of anything that couldn't be changed with relative ease.
It's a bit of a slut: happily exposing her implementation with her favorite objects .
If I do my job correctly then there wont be any one-off gotchas... not any... I guess that'll be a first.
Mark.
P.S. I'd love to debate this subject more with you.

TOP


Originally Posted by Dekudude
...AND NO DANG MODULES! *glares at Python*
lol I will join you, but I am glaring at PERL!!

TOP


Originally Posted by JavaNinja
lol I will join you, but I am glaring at PERL!!
Haha yes.
As long as there is a convenient collision-free way to distribute code that others can use then the no-dang-modules requirement could be satisfied. There are several alternatives; does anyone care to suggest one?
Take care,
Mark.

TOP

abstract:

- Passing function parameter by reference, works with native API libraries.
- Unlimited number and array size, I'm always do dynamic programming.
- ...
Plus the reason please...



Originally Posted by netytan
Hi Jamie ,
Higher-order functions are okay... but wouldn't higher-order forms be better? The ability to create and return new semantic concepts would make higher-order functions obsolete.
Hi, what exactly do you mean by higher-order form? Are there other languages with this feature? Does it sometimes go by another name, e.g. type constructors or first class types? If it is a more general concept than HOFs how would it represent a simple polymorphic function that takes one function to another like
Code:
  1. f :: (a -> b) -> [a] -> [b]
  2. f g = map g
  3. > let h = f id in (h [1], h ['a'])
  4. ([1],  ['a'])
Copy Code
?

TOP

Back Forum