[HN Gopher] The Cell Programming Language
___________________________________________________________________
The Cell Programming Language
Author : manx
Score : 93 points
Date : 2024-03-06 06:26 UTC (1 days ago)
(HTM) web link (www.cell-lang.net)
(TXT) w3m dump (www.cell-lang.net)
| srameshc wrote:
| I thought this had to do with biological cell programming but it
| looks good.
| DonHopkins wrote:
| If you're interested in biological cell programming, you'll
| need a VR/AR biological cell editor and simulator, of course!
|
| LifeBrush - Constructing an interactive cytoskeleton:
|
| https://www.youtube.com/watch?v=6CsxADBpal0
|
| >comment: I didn't realize that Bob Ross had gotten into bio-
| molecular organelle simulations.
|
| Timothy Davidson's videos:
|
| https://www.youtube.com/@TimothyDavison/videos
|
| Timothy Davison:
|
| https://timd.ca/
|
| CellWalk for Apple Vision Pro:
|
| https://www.youtube.com/watch?v=r8DOAPPjMw0
|
| CellWalk:
|
| https://cellwalk.ca/
|
| Building Structural Models of a Whole Mycoplasma Cell:
|
| https://www.sciencedirect.com/science/article/abs/pii/S00222...
| __MatrixMan__ wrote:
| I'm building a puzzle room type experience with some friends.
| There are sensors and actuators that need to be controlled
| according to some logic. My read of these docs is that this might
| be a good fit for something like that.
|
| The way it compiles to several other languages reminds me of Nim
| (which I rather like).
|
| I think I'll give this a whirl.
| speps wrote:
| You should go simple and pick something like Python, add some
| unit tests to check your logic is sound. Everyone would
| understand Python, easy to edit and update.
| tromp wrote:
| Should run great on the Cell processor [1] :-)
|
| [1] https://en.wikipedia.org/wiki/Cell_(processor)
| DonHopkins wrote:
| It sounded to me like a cellular automata programming language,
| like Dave Ackley's "SPLAT" for the Moveable Feast Machine, or
| Lu Wilson's Sandpond visual CA programming language:
|
| Moveable Feast Machine:
|
| https://movablefeastmachine.org/
|
| Programming Soft ALife with SPLAT and Ulam:
|
| https://www.livingcomputation.org/files/deck213-as-presented...
|
| SPLAT repo:
|
| https://github.com/DaveAckley/SPLAT
|
| Cells in Cells in Cells:
|
| https://www.youtube.com/watch?v=gv40Z9tVjAI
|
| Spellular Automata:
|
| https://www.youtube.com/watch?v=xvlsJ3FqNYU
|
| NEW Cellular Automata:
|
| https://www.youtube.com/watch?v=WMJ1H3Ai-qs
|
| SandPond:
|
| https://github.com/TodePond/SandPond
|
| Live SandPond:
|
| https://sandpond.cool/
|
| TODEPOND TIMES: Nogan:
|
| https://todepond.substack.com/p/todepond-times-nogan
| fermigier wrote:
| I sense an "Out of the tar pit" influence. Am I mistaken?
| shaunxcode wrote:
| yep: https://www.cell-lang.net/faq.html
| nominalprose wrote:
| Some years back I spent a lot of time reading these docs and
| playing with some core examples and corresponded some with the
| developer behind the project.
|
| I think inductive, reactive, programming patterns have a lot of
| promise for building more composable software. This project is I
| think no longer maintained, but it should hopefully serve as
| inspiration for language designers.
|
| LogicBlox was (is?) a larger scale commercial system based on
| similar ideas: https://en.wikipedia.org/wiki/LogicBlox
| airstrike wrote:
| Yeah, looking at their GitHub profile it does look like this
| has sadly been abandoned: https://github.com/cell-lang
| vczf wrote:
| They released a cell to cpp compiler last year:
| https://www.cell-lang.net/version-0.7.html
|
| GitHub: https://github.com/cell-
| lang/c-cpp/tree/master/src/compiler
| stevedekorte wrote:
| At first, I though this was a link to another cool language with
| a very similar name: http://www.redwoodsoft.com/~dru/cel/
| dang wrote:
| Related:
|
| _Cell-Lang: Why relations are better than objects_ -
| https://news.ycombinator.com/item?id=38853961 - Jan 2024 (1
| comment)
|
| _Cell Lang: Why yet another programming language?_ -
| https://news.ycombinator.com/item?id=31915925 - June 2022 (124
| comments)
|
| _A comparison of Cell with OOP_ -
| https://news.ycombinator.com/item?id=20438931 - July 2019 (7
| comments)
|
| _Cell - A functional, relational, reactive programming language_
| - https://news.ycombinator.com/item?id=15797831 - Nov 2017 (64
| comments)
| pie_flavor wrote:
| As far as I'm concerned, reactive state management is a solved
| problem. Use SQLite for everything, or Postgres if you outgrow
| it. Does it require a bunch of glue code? Depends on the
| language, but let's say it does. This orthogonal persistence
| layer of Cell's is guaranteed not to do a fifteenth of what
| SQLite does, so either you lose out on it, or you're back to
| square one with the glue code.
| obeavs wrote:
| > Use SQLite for everything, or Postgres if you outgrow it.
|
| Or both! I've followed ElectricSQL for a while and it's pretty
| awesome to see how they've approached it. Rest APIs replaced
| with client side SQLlite which syncs to server side postgres
| over a CRDT layer that you don't actually have to touch/know
| anything about. And they just rebuilt postgres on pure WASM
| (https://github.com/electric-sql/pglite).
|
| It's just cool to think that maybe you don't have to do design
| all of these intricate REST apis and just call SQL.
| vczf wrote:
| I think you're too quickly dismissing the potential benefits.
| From the FAQ[1]: The combination of all the
| above properties, plus the fact that I/O is also separate from
| pure computation and updates, enables a number of features that
| are not found in conventional languages. The first
| one is the ability to "replay" the execution of a Cell program.
| One can easily reconstruct the exact state of a Cell program at
| any point in time. Obviously that's very useful for debugging,
| but there are others, more interesting ways of taking advantage
| of that. It's for example possible to run identical replicas of
| the same Cell process on different machines over a network, and
| that's something that will be crucial in Cell's future network
| architecture. The second one is orthogonal
| persistence, that is, the ability to take a snapshot of the
| state of the application (or part of it), which can then later
| be used to create with minimal effort an identical copy of it,
| that will behave in exactly the same way. In Cell, you don't
| save your data the way you do it in conventional languages.
| Instead, you simply declare which parts of your application's
| data structures have to be persisted, and the compiler
| generates for you all the code needed to save and load them.
|
| Is it as robust as using a mature technology like SQLite?
| Obviously, no. But these are interesting ideas that lead
| somewhere new.
|
| [1]: https://www.cell-lang.net/faq.html
| IshKebab wrote:
| Complete fail on the programming language homepage design
| scorecard. You need an example (ideally more than one) on the
| very first page.
| Verdex wrote:
| I don't know. Programming languages are super high dimensional
| objects that are often used to construct non-trivially sized
| and scoped projects. For something like that I think you need
| to take your time, read the manual, and do some r&d to see if
| it's a fit.
|
| In blorq we have variable assignment: var x =
| 5;
|
| And we have while loops: while true { x
| += 1; }
|
| And we also have quantum polymorphic tensor hyper operators
| with optional effects: |> ~$~ |] <coherence 0.7
| [deflects]>
|
| It's like, the simple stuff doesn't really tell me anything.
| And the complex stuff is going to take a lot more than seeing
| the example to know how I should feel about it.
|
| Cell, I suspect, is in the category of needing at least an
| afternoon to get started.
| IshKebab wrote:
| > It's like, the simple stuff doesn't really tell me
| anything.
|
| It tells you loads.
|
| * The basic syntax is C-like but modern (no brackets around
| the `while` expression). There are alternatives - it could
| have been lispy or more ML like.
|
| * You can mutate variables.
|
| * You have some weird advanced hieroglyphic features.
|
| You only used 5 lines and you've already told me loads.
|
| Loads of languages get this right. I gave some examples here:
| https://news.ycombinator.com/item?id=37805216
|
| (And another language that gets it completely wrong -
| AngelScript.)
___________________________________________________________________
(page generated 2024-03-07 23:00 UTC)