TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Alpaca – Functional programming inspired by ML for the Erlang VM

217 pointsby knvabout 8 years ago

8 comments

salimmadjdabout 8 years ago
Really hoping this project gets more traction.<p>I&#x27;m learning Elm now and I&#x27;m really liking the syntax to the level that other languages feel rather cluttered to me now.<p>The more I&#x27;m playing with types and learning to leverage them, the more I appreciate their power (yes, I&#x27;m late to the game) so making this statically typed is very interesting.<p>However, there seem to be a saturation of new languages and not sure if there is enough eyeballs left for a new language that does not have a large corporate backing (FB, Google, Apple) or happens not to arrive on a perfect time with the right set of answers. Maybe BEAM, ML&#x2F;Elm syntax and static typing is what everyone else is looking for.<p>Edit: Video posted today of creator of Alpaca (Jeremy Pierre) giving a talk at Erlang Factory. It gives a nice overview of the state of the language -<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=cljFpz_cv2E" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=cljFpz_cv2E</a>
评论 #13953492 未加载
评论 #13953314 未加载
评论 #13956320 未加载
评论 #13953493 未加载
platzabout 8 years ago
I continue to be believe even as a static typing fan that static types are fundamentally incompatible with OTP and it&#x27;s goals.<p>Distributed systems just seem to too thorny for static types to subjugate&#x2F;bend to their will.<p>Sure, you can declare global invariants ahead of time that your cluster must uphold, but it&#x27;s a bit less &quot;distributed&quot; in a real sense then
评论 #13953522 未加载
评论 #13953294 未加载
评论 #13954510 未加载
评论 #13954922 未加载
评论 #13953967 未加载
评论 #13953291 未加载
评论 #13953401 未加载
评论 #13954662 未加载
haspokabout 8 years ago
I think this is great news for the Erlang VM: while you wouldn&#x27;t want to use static typing for any program you write, there is a very specific use-case where you definitely want to do that: embedding business logic in your application.<p>I&#x27;ve been there, done that: encoding business rules in Erlang is no fun, hard to test, and definitely hard to read and modify later. In this particular domain the constraint of types does not slow you down, in fact, it speeds up development. A large amount of unit tests can become unnecessary just because of the type checking. And the more expressive your type system, the fewer tests you need - and the code and the remaining tests can concentrate on validating business logic instead of validating programming language logic (&quot;here is a map - do I have a value with key X in it?&quot; - maybe a bad example because of pattern matching, but I hope you get the idea).<p>You definitely have to be able to interface with OTP, but I don&#x27;t see it as a huge problem - parts of your application could and should be written in Erlang, there is nothing wrong with that.
评论 #13957415 未加载
Athasabout 8 years ago
I am intrigued by this snippet from the README:<p><pre><code> type messages &#x27;x = &#x27;x | Fetch pid &#x27;x </code></pre> This appears to define a sum type where one of the variants is left with an implicit constructor. How do you pattern match on that? How do you do type inference?
评论 #13956624 未加载
jmcdieselabout 8 years ago
Can anyone explain why it seems like so many new languages are reinventing things that seemingly have little effect, but they seem to be changing them &quot;just because&quot;<p>We have comments in code for decades now. &#x2F;&#x2F; and &#x2F;* *&#x2F; are easily the bigest standard, with # coming in second. Why &#x27;--&#x27; in this language? Why &quot;``&quot; in another language i saw recently?<p>I cant imagine this gives any real benifit to the coder or the compiler, and it seems to be more difficult because now the IDEs have to be configured for a(nother) new comment type, it has be become muscle memory again, its yet another &quot;common ground&quot; peice of code that requires context switching to change between languages...<p>I get doing new things with the functional features of a language, im all for trying new things and seeing what works... just seems wierd to have so many ways to comment code... such an insignificant part, why change?
评论 #13956505 未加载
评论 #13956498 未加载
评论 #13956422 未加载
评论 #13956385 未加载
pkaabout 8 years ago
There&#x27;s also purerl [0], an Erlang backend for PureScript. Would be cool if the two projects could join forces.<p>[0] - <a href="https:&#x2F;&#x2F;github.com&#x2F;purerl&#x2F;purescript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;purerl&#x2F;purescript</a>
sctbabout 8 years ago
Related discussion from last year: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11992773" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11992773</a>.
sergiotapiaabout 8 years ago
&gt;Apache License, Version 2.0<p>Pardon my ignorance, but why not make it MIT and completely avoid any licensing issues?
评论 #13953400 未加载