Live data from Hacker News

Cell Lang: Why yet another programming language?

cell-lang.net

91–100 of 126 posts

Re: Cell Lang: Why yet another programming language?

#91

Earlier quoted context omitted.

Agreed! Even if the new thing doesn't reach mainstream adoption it might still cause change in the mainstream choices - like how redux was inspired by Elm Secondly I think it's sad that someone building something will be asked to justify their decision in terms of economics. If it makes that person excited and happy to build a thing then I don't think any further justification is needed

In my experience, people believe that programming languages are a solved space, and we should stick with what we have. It's an unfortunate view. Languages are actually very polarized today. I think there's a lot of room for a mainstream language that could be safe, fast, and most importantly, easy. Today's languages are generally two out of three. Luckily, a lot of languages are exploring that space! * Vale is blendi…

I suppose you could add a few to this list: Koka has formalised side-effects, and thanks to that can do in-place mutation after static analysis, similar to HVM. It also uses static analysis to manage memory with elided reference counting. Lastly, koka has managed to utilise static typing with dynamic binding, contrast with cell-lang which avoids dynamic binding (which has it's use cases). https://koka-lang.github.io/koka/doc/book.html#sec-effect-ty...

Flix does something similar to cell, though the typing is worked out better as lattice types ensure that there is an unambiguous top and bottom type. Addditionally where cell cannot compute dependent values, Flix can as it uses constraint modelling rather than reactive computation ie. the algo computing the rules is formally worked out to cover the edge cases. https://flix.dev/principles/

Maude handles subtyping and typechecking of said subtypes through equational and rewrite logic. It has the concept of purely functional modules as well as impure (system) modules, but adds to that the math theories that represent the modules, so you get a lot of formal verification techniques at your disposal while programming. http://maude.cs.illinois.edu/w/index.php/Maude_Overview

Composita covers the idea of removing pointers, and restricting components so you can use concurrency in anger (and managed memory without GC at the component level) https://concurrency.ch/Content/publications/Blaeser_Componen...

Kali makes a good job of migrating processes - where cell restricts the ability to do closures due to the extended value set, kali can walk the call tree to migrate all linked state. http://community.schemewiki.org/?Kali-Scheme-Revival

I think cell looks interesting, but there seem to be restrictions here to simplify/avoid some of the harder problems. That in itself is not a bad thing, but it's worth noting given that some of these problems have been tackled individually above. I'm not quite ready with a blend of these techniques, but it looks as though they are compatible with each other.

Re: Cell Lang: Why yet another programming language?

#92

Earlier quoted context omitted.

In my experience, people believe that programming languages are a solved space, and we should stick with what we have. It's an unfortunate view. Languages are actually very polarized today. I think there's a lot of room for a mainstream language that could be safe, fast, and most importantly, easy. Today's languages are generally two out of three. Luckily, a lot of languages are exploring that space! * Vale is blendi…

I suppose you could add a few to this list: Koka has formalised side-effects, and thanks to that can do in-place mutation after static analysis, similar to HVM. It also uses static analysis to manage memory with elided reference counting. Lastly, koka has managed to utilise static typing with dynamic binding, contrast with cell-lang which avoids dynamic binding (which has it's use cases). https://koka-lang.github.io/…

Wow, I've never heard of most of these languages, and I consider myself a language expert! How did you learn of these?

Re: Cell Lang: Why yet another programming language?

#93
post #85

Earlier quoted context omitted.

I think a more charitable interpretation would be that they're highlighting how much work has gone into that area (web server frameworks come to mind), compared to how little work they've seen on cleaner techniques and language assistance for managing local state. That's how I read it at least, reasonable interpretations may differ.

But I cannot agree. I am very down on this. I think this a colossal waste of time. I do not see the problem they are trying to solve. Doing I/O is hard, not because sending bytes on a wire is hard but because of everything that can go wrong. It is the "everything that can go wrong" part that is hard. They are going to solve the problem of state with "algebraic data types". That is not new. I am trying to think of a l…

> State is part of the nature of those machines. It is very well understood and is not a problem (handling state) that we are struggling to solve.

Wow, really? If handling state is not a problem, then what problems do we actually have?

Re: Cell Lang: Why yet another programming language?

#94

Earlier quoted context omitted.

I know it's a total pipe dream, but this is what makes me most sad about lisp never being taken seriously. It could have been common practice to create and pull in new language constructs like what this is doing.

Languages that rely on the user creating their own language constructs suffer from a balkanization of the language - each team creates their own language, and cannot share code. This is why D does not have a macro preprocessor.

I hear this concern a lot, but I’ve never actually seen it happen any more than it does in languages without macros.

https://news.ycombinator.com/item?id=31520381

Re: Cell Lang: Why yet another programming language?

#95
post #54

Earlier quoted context omitted.

temporal.io = durable actors for microservices workflows

See also https://www.fluvio.io/

I'm learning so much about a market I'm entering. My company is https://www.adama-platform.com/

Re: Cell Lang: Why yet another programming language?

#96
> Because there's currently no high-level programming language for writing stateful software that I'm aware of.

Wot? Here is how you handle state in a pure functional language like Haskell:

update : Event -> State -> State

and if you want a return result:

update : Event -> State -> (State, Result)

and if you can't be bothered to type "State" all the time:

Use a state monad (the clue is in the name).

I highly recommend that language designers do a bit of research before making claims about the uniqueness of their new language designs. As far as I can see there isn't a single feature in the language design that hasn't been done already in other languages.

Re: Cell Lang: Why yet another programming language?

#97

> Then there's support for reactive programming, which is still in its infancy State management for UI I would think should be a first class objective rather than 3rd on the todo list. See SwiftUI for something evolving toward this direction. > The best way to illustrate the advantages of functional/relational programming over OOP is through a case study No, the best way is to be right up front with a real life commo…

I'm curious what kind of examples would be compelling. I'm writing a language which takes exceptional control over state (https://www.adama-platform.com/)

And im having a bunch of fun with it now that I popping up the stack in UI. My docs have a minimal tic-tac-toe ( http://book.adama-platform.com/examples/tic-tac-toe.html )

Re: Cell Lang: Why yet another programming language?

#98
post #21

> Why yet another programming language? 'Because I wanted to' is a sufficient reason. Create all the programming languages you want and share it with the world!

As a programming language author, your attitude is awesome. I love it. Thank you

I'll share an example of my current fun example: http://book.adama-platform.com/examples/tic-tac-toe.html

Re: Cell Lang: Why yet another programming language?

#99
post #96

> Because there's currently no high-level programming language for writing stateful software that I'm aware of. Wot? Here is how you handle state in a pure functional language like Haskell: update : Event -> State -> State and if you want a return result: update : Event -> State -> (State, Result) and if you can't be bothered to type "State" all the time: Use a state monad (the clue is in the name). I highly recommen…

I think the claim is in regards to the persistence of state. I've dealt with this as I created https://www.adama-platform.com/

A key finding is that the data model needs to handle process failures and upgrades/downgrades. This is why the memory model for Adama is simply JSON.

Re: Cell Lang: Why yet another programming language?

#100
I'm still reading this, but I have this nagging feeling about how great it would be to team up.

My programming language chops are not cutting edge, but im bleeding edge in real-time distributed systems. I've built https://www.adama-platform.com/ and im playing with the language to map idioms that work to a language which can enforce good discipline.

Now, im highly unfocused as im an retired monk code machine (i just turned my serverless VM into a tiny webserver so i can build a serverless twilio bot. I'm curious about things, so I plan to deep dive into this and provide feedback in the coming weeks.

Post reply on HN