hamler-lang / hamler

Haskell-style functional programming language running on Erlang VM.
https://www.hamler-lang.org/
BSD 3-Clause "New" or "Revised" License
1.03k stars 39 forks source link

(libs) Re-design the hierarchy of standard-library. #456

Open alissa-tung opened 3 years ago

alissa-tung commented 3 years ago

FACTS:

Lift them to a sperate library Prelude can resolve some pressures and redundancy dependencies which had appeared in building the base library. And this approach can be considered easier to further maintaining job and documented materials. This is also a chance to solve some not valuable legacy that from Haskell and PureScript. So syntax like applicative (idiom) bracket, bind-notation and pattern-matching as control flows; applicative record update, visitor composition is also a point to throw away some functions.

Design the hierarchy of such essential type classes is up for more discussions with some sophisticated developer. It is becoming even more circuital since we do not have mechanism to do default behaviors or minimal implementations. It is worth doing in the meanwhile.

In addition, some experiential and not essential libraries can be put to contrib, such as testing framework. It doesn't need to support a stable API since the languages is developing itself.

sdzx-1 commented 3 years ago

good suggestion. We are still improving the standard library. If we have more time, we will consider adding such an experimental library.