Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    I

    Incidental Complexity

    incidentalcomplexity.com · Personal blog · on HN since 2014

    Incidental Complexity is the development blog of the Eve team, the Light Table developers, on a programming environment for everyone.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersDesign & UX
    What HN says

    HN links it for context on Eve, with commenters noting the project's experiments and open source work aimed at making programming more accessible.

    Stats for nerds
    29HN people shared it
    34linked in comments
    377story points
    Mar 2018last shared
    2014people per year2018

    Top posts on HN

    1. 1
      Version control, collaborative editing and undo
      3 people · 93 points · first shared 2015 · 24 comments on HN
    2. 2
      Eve Development Blog, from Light Table developers
      10 people · 83 points · first shared 2014 · 74 comments on HN
    3. 3
      Eve Developer Diary, March — Part 1: UI
      1 person · 72 points · first shared 2016 · 47 comments on HN
    4. 4
      Eve Dev Diary (August 2016)
      2 people · 42 points · first shared 2016 · 18 comments on HN
    5. 5
      Eve – October
      1 person · 17 points · first shared 2014 · 1 comments on HN
    6. 6
      Eve Dev Diary (Oct – Nov)
      3 people · 8 points · first shared 2016 · 1 comments on HN
    7. 7
      Eve update
      2 people · 8 points · first shared 2015 · Discussion on HN
    8. 8
      More experiments, better performance, integrity constraints, zztrees
      1 person · 8 points · first shared 2014 · Discussion on HN
    9. 9
      Eve, the successor of light table
      3 people · 7 points · first shared 2014 · 1 comments on HN
    10. 10
      A Declarative Clock in Eve
      1 person · 5 points · first shared 2016 · 2 comments on HN

    What HN people wrote when they linked it

    • cmontellaOct 2016

      We really take two approaches to this. The first is we're trying to build tooling to convince you that this is a good idea. For instance, something as simple as a table of contents generated from headings in your code. It's a great overview of your program, a convenient form of navigation, and it takes hardly any time write. I mean, I've seen tons of programmers do this anyway, with fancy ascii headings. Let's just make stuff like that easy for programmers, and I think that our propensities to keep things organized and logical will work in our favor. So in terms of keeping code in sync, we're hoping these tools will convince you that you want to do it. There is value in doing it. Not just feel-good value of well documented code, but tangible value in easily and logically navigable code, for instance.

      So the tooling is the first part. The second part is the actual design of the language. Eve programs are written as a series of code blocks, each one with a very specific purpose of querying data, and then doing a transformation on that data. You create computations just by chaining together these interconnected blocks, each data from another and reshaping it in some way. It's this design that leads to writing very short, single purpose blocks of code. In Eve, you don't reference blocks of code, you only reference the data they create. So blocks don't have names. If you write an Eve program without writing any prose at all, it will be kind of confusing. We find that our users…

    • iamwilMar 2018

      One of the more interesting parts (to me) about Eve wasn't the interactive programming or the literate programming, but that it included a database inside of the programming language. Most programming languages think of a database as a thing separate to it (I think Smalltalk is an exception).

      Hence, they needed language constructs to make it easier to talk to databases. As a result, Eve was inspired by the Bloom language being researched at Berkeley, which was in turn inspired by an old language called Datalog. In it, they take constraints of a declarative language (like SQL) and use it to make distributed computing a lot easier.

      "Our main data-structure was now a tree of tables. Rather than one big top-level function, we switched to a pipeline of functions. Each function pulled data out of the global store using a datalog query, ran some computation and wrote data back. Having less nesting reduced the impact of lexical scope and cursor passing. Using datalog allowed normalising the data store, avoiding all the issues that came from hierarchical models.

      At this point we realised we weren't building a functional language anymore. Most of the programs were just datalog queries on normalised tables with a little scalar computation in the middle. We were familiar with Bloom and realised that it fit our needs much better than the functional pidgin we had built so far - no lexical scoping, no data-structures, no explicit ordering. In late March we began work on a Bloom…

    • OliverMAug 2015

      The experience of programming is ripe for transformation, and work like APX, Johnathan Edwards' Subtext (https://vimeo.com/106073134) (which uses the spreadsheet UI metaphor to specify programs and expose their run time data transformations) and, though I'm not as enthused about it, Chris Ganger & co.'s Eve (http://incidentalcomplexity.com/) are making great progress towards that goal. I've been following this kind of work for over a decade though, and it looks like it'll be a couple of years yet before you can open up an editor the way you'd fire up emacs.

      It feels like programming never really escaped its command line origins, where all UI is orientated around ordered text transformations. Coding in that environment is empowering once mastered, but very frustrating to master; for me the promise of these kind of programming environments is that the same level of mastery is possible with only a fraction of the frustration.

    • ibdknoxJul 2016

      Sorry our research seems to have offended you. :(

      All our experiments have been moved to here: https://github.com/witheve/eve-experiments, which has the complete history of all the versions we've built.

      Our work is all open source, we've published our bibliography, and we've talked about all the prototypes and what we've learned from them here [1]. The only time we asked for money was the Kickstarter, which was only done because HN community specifically asked us to. Is there something specific you're particularly upset about?

      [1]: http://incidentalcomplexity.com/

    • rootkidJun 2016

      Dart: For me it's still _the_ successor of JavaScript. However, the market didn't adopt it as well as Typescript. Thus, in work life I play safe with Typescript.

      Eve (Dev Blog: http://incidentalcomplexity.com): the guys are "working on bringing programming to everyone". A lot of innovative stuff here. Not yet ready but _really_ exciting!

    • TuringTestMar 2016

      I imagine that someday we'll see the rise of a programming metaphor that works as a hybrid of code and visual.

      You're going to enjoy the Eve language...[1][2] :-)

      [1] http://eve-lang.com/

      [2] http://incidentalcomplexity.com/

    Related

    Chris Grangerchris-granger.com102 people

    Light Table - a new IDE concept

    Chris Granger
    Personal · last shared 2025
    Light Table Bloglighttable.com80 people

    Pain we forgot

    Light Table Blog
    Company · last shared 2025
    incident.io Blogincident.io52 people

    Tracking developer build times to decide if the M3 MacBook is worth upgrading

    incident.io Blog
    Company · last shared 2026
    beza1e1beza1e1.tuxen.de120 people

    A collection of things that are Turing-complete by accident (2013)

    beza1e1
    Personal · last shared 2026
    John D. Cookjohndcook.com648 people

    Organizing complexity is the most important skill in software development

    John D. Cook
    Personal · last shared 2026
    Surfing Complexitysurfingcomplexity.blog67 people

    The carefulness knob

    Surfing Complexity
    Personal · last shared 2026
    CodeOpinioncodeopinion.com18 people

    Anti-patterns in event-driven architecture

    CodeOpinion
    Personal · last shared 2025
    Better Programmingbetterprogramming.pub319 people

    Three programmers got fired, including me, due to a single app crash

    Better Programming
    Publication · last shared 2025