Hacker News new | past | comments | ask | show | jobs | submit login
Koka – A function-oriented programming language (microsoft.com)
107 points by chrisaycock on Aug 27, 2015 | hide | past | favorite | 10 comments



I recommend reading this tutorial: http://www.rise4fun.com/koka/tutorial

The syntactic sugar used here look absolutely beautiful. I really love this, it looks like a saner functional Ruby/JS baby.


Everyone should check https://github.com/purescript/purescript as more mature language. One of the source of inspiration was the Koka


Is this project abandoned? Latest update on codeplex is 2.5 years old. It's a shame because it looks like a very nice language.


That's the wiki/web page. The source has been updated recently http://koka.codeplex.com/SourceControl/list/changesets


Publications

    Daan Leijen, Koka: Programming with Row Polymorphic Effect Types, in Mathematically Structured Functional Programming 2014, EPTCS, 18 March 2014.
http://research.microsoft.com/apps/pubs/default.aspx?id=2106...

Maybe it's not dead yet.


Martin Odersky is planning to add polymorphic side effect types to Scala.

Lucas Rytz' PhD research describes an early incarnation. The syntax will be different: side effects will be modeled as implicit evidence. But the semantis will be largely the same I believe.

I seem to remember that the default will be that if no side effects are declared that any side effect is assumed. At least that was the idea in Rytz' PhD thesis. The reason for this was pragmatics: the only effect system in a main stream language is Javas checked exceptions. And for that the communis opinio ended up being that the idea is right but having to declare exceptions in intermediary layers of the call graph was not worth the effort. That's why f.i. Anders Hjelberg left checked exceptions out off C#. So getting the usability right is extremely important for a widely adopted effect system.

Btw there are a lot of publications around 2012 on the topic of effect systems.

http://lrytz.flavors.me/#publications-talks


March 2014 isn't exactly proof the language is alive today.


Still better than 2012.

KOKA author is now on this http://2015.ecoop.org/profile/daanleijen

and also tutoring PhD (I assume) students for http://goto.ucsd.edu/~nvazou/koka/icfp15.pdf


This is fantastic work. It has a very approachable way of controlling side-effects. That's also one of Haskell's goals, but the learning curve is much steeper.

If I was going to teach Haskell to someone, I'd be very tempted to start them off by spending a few days noodling around with Koka.

I love that you can even annotate a function to let it read from a variable, but not write to it, or vice versa.


I'm definitely going to check this out - I think that having effects explicitly controlled in the code but strict by default is the sweet spot I'm looking for in my next language.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: