Gradual typing is messing with my habits… but not in a pleasant way 😕

A type-system for by Théophane Hufschmitt, Oct. 2017

@otini That might be a step beyond even, but honestly I wasn't impressed: adding a very complicated type-system on top of already very/too complicated custom language may be not the best idea, IMO.

@amiloradovsky I think the same problems would arise to typecheck package descriptions written in GNU Guile, no?

@otini Not quite. is splitting hairs much better, even despite being also a dynamically-typed language.
Record types there, for example, have fixed set of fields with default values, AFAIK, so one cannot just put arbitrary stuff in there and expect it to pass through.
Actually, I'd say Guix already has some type-system, look at this for example:



There is definitely some static analysis going on.

@amiloradovsky If Guile has real record types with a fixed set of fields, that's probably better. I never quite understood where dynamic field labels where used in NIxpkgs.

@otini is generally better than + in many respects. But less popular, especially among the industrial users wanting clopen source.

@samae @otini An organization, which uses * in their business processes, possibly supports the projects financially, and adds specific/niche features.

See e.g. Acknowledgments in




There is much more, I'm sure.
And I heard several times that the lack of non-free s/w in Guix is a problem for them.

But why create your own non-free repo, when you can mix it into the free one, and put the burden of long-term support on the community of volunteers?
Sure is right that they aren't allowing non-free s/w, but Nix* is meant to be business-friendly.
@samae @otini

@amiloradovsky @otini @grainloom

Well, IMO because you don't want your *shiny* proprietary code stolen 👻​ or even used to find security weaknesses you left there 🙀​ :D In that sense it is easier keeping a secret.

It depends:
• If this is something "mission-critical" (assuming businesses have a mission lol), you may not want to expose it to the whole world for audit, especially if it's really cheap (e.g. site's back-end).
• If this is a tooling, needing constant support and integration with the rest of the world, let's "open-source" it and make hordes of jobless amateurs do all the dirty work… Plus get the badge of "open-source company" as a bonus, good.
@otini @grainloom


@samae @otini @grainloom
To recap: libre, not open-source, which should better be called clopen-.

Sign in to participate in the conversation
Functional Café is an instance for people interested in functional programming and languages.