@jonn don't really see the point of types alone without actual code.

The util library I'm making for our new framework (of course I'm making a new framework) is based around type inference wherever possible.

And type inference for pipe() took several attempts and like a week of work in total. And still needs kludges for overloaded functions. And isn't properly variadic either.

@jonn I'm not ready to publish the monorepo (I'm being paid to work on this and we still haven't decided on licensing, it's likely that the cms/crm to built on top of it will not be FOSS, but all the libraries probably will be). But I can give you access if you want to take a look!

@virtulis okay! I'm currently thinking about forking to support proper functional programming when it comes to velosypeding, but I'd be glad to check it out!

@virtulis I'm currently using a language that doesn't have inference to unique type.

everything that's
LessThan<5>
is also
LessThan<6>

in general, once I started using dependent types, it's genuinely hard for me to understand "code vs types" dichotomy.

Dependent parsing for instance is really cool! It allows to make a record Num<x : String> which carries some number n and something of type "parse(x) = n".

When I look at projects like hotscript, I kinda hope that I'll be able →

@jonn I wondered how the author does number comparison in TS and yeah that certainly is quite creative 😅 github.com/gvergnaud/hotscript

My types are much more boring for sure. But now I feel a bit less bad about my pipe() signature.

Sign in to participate in the conversation
Doma Social

Mastodon server of https://doma.dev.