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.
What HN saysHN links it for context on Eve, with commenters noting the project's experiments and open source work aimed at making programming more accessible.
29HN people shared it
10linked it in comments
34stories submitted
377story points
2 years agolast shared
2014people per year2026
Most-shared posts
- 1Eve Development Blog, from Light Table developers10 people · 83 points · first shared 2014 · 74 comments on HN
- 2Natural Language Querying4 people · 3 points · first shared 2016 · discussion on HN
- 3Version control, collaborative editing and undo3 people · 93 points · first shared 2015 · 24 comments on HN
- 4Eve Dev Diary (Oct – Nov)3 people · 8 points · first shared 2016 · 1 comments on HN
- 5Eve, the successor of light table3 people · 7 points · first shared 2014 · 1 comments on HN
- 6TodoMVC – A Declarative Implementation in Eve3 people · 4 points · first shared 2016 · discussion on HN
- 7Eve Dev Diary (August 2016)2 people · 42 points · first shared 2016 · 18 comments on HN
- 8Eve update2 people · 8 points · first shared 2015 · discussion on HN
- 9Eve Alpha v0.2.32 people · 4 points · first shared 2016 · discussion on HN
- 10Eve Dev Diary (Jan – Feb)2 people · 3 points · first shared 2016 · discussion on HN
- 11Eve Developer Diary: Editor and TypeScript Version2 people · 3 points · first shared 2016 · discussion on HN
- 12Eve Developer Diary (March 2016 Part 2: Platform)2 people · 3 points · first shared 2016 · discussion on HN
- 13Eve Developer Diary, April 20162 people · 3 points · first shared 2016 · discussion on HN
- 14Eve ("Set of tools to help us think") Dev Diary (July 2016)2 people · 2 points · first shared 2016 · discussion on HN
- 15Eve progress report: GUIs, time, joins and aggregates2 people · 1 points · first shared 2015 · discussion on HN
What HN people wrote when they linked it
OliverM · 2015-08-18
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.
ModernMech · 2018-01-25
There's actually not much on the main page anymore. Try the blog for more context: http://incidentalcomplexity.com
anewhnaccount2 · 2018-01-25
Hence the name of the Eve blog, http://incidentalcomplexity.com/
ibdknox · 2016-07-21
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/
rootkid · 2016-06-16
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!
TuringTest · 2016-03-08
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/
jamii · 2015-08-17
cmontella · 2016-10-28
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…
iamwil · 2018-03-20
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…