Live data from Hacker News

Unison: a next-generation programming platform

unisonweb.org

81–90 of 135 posts

Re: Unison: a next-generation programming platform

#81

Wow, author here, was not expecting this to end up here! This project is very much in development, it's not close to a finished product and I hope I didn't give that impression. I created the site so there'd be a space other than my blog to share updates about progress and so on. If everything I wrote sounds like nonsense, check back in 6 months. I am hoping things will be much further along, and more concrete by the…

I think the time is ripe for this kind of software: I'm also working on something very similar. I've put a lot more work into the editing/layout features than the portion for generating the AST—but my scheme for doing it is nearly identical to what you have in your video. A demo video of my editor is here: http://symbolflux.com/projects/tiledtext

When I was working on it before my approach was to use grammatical knowledge of traditional, text-based languages to generate a selection of grammatically valid constructs for your current 'cursor' position; only in the last few weeks did I hit on the idea to do it 'syntax-free' (in my terminology).

My thinking on why 'syntax-free' is The Way to go: if you look at what someone's trying to do when writing a program, it's really: (1) select language construct (2) select parameters as a 'configuration' of selected construct. Text is one way to specify those things, but a far more effective system addresses the fact that that's all you're doing directly, and allows views to be attached after the fact (even if something that's primarily text ends up being the optimal view!).

In case it's helpful to you for communicating the idea to people, I often described the benefit of this kind of system to people as automatically allowing someone who only knows how to read a language, to also be able to write in it—no more remembering the details of how to express construct X in language Y.

Re: Unison: a next-generation programming platform

#82
post #61

> Perhaps 70% of developer time is spent dealing with parsing, serialization, and persistence. Values are encoded to and from JSON, to and from various binary formats, and to and from various persistent data stores… over and over again. Off-topic but.. by using Lisp one can refocus that 70% to actually solving problems.

Lisps can automatically define models, serialization and deserialization for those models, and data persistence?

The language allows it to be easily done. The model definitions can be simply transformed into code that directly handles those individual model artifacts.

This is a super common paradigm in Lisp, especially when it comes to class/structure/data definitions, where support functions of any type can be generated straight from the defs. There is no "automatic" language feature there, because no definition of "automatic" covers all useful cases. It's simply easy to do because of the homoiconic nature of Lisp (code = data = code, with easy manipulation to transform between them), and no real distinction between compile time and run time.

Re: Unison: a next-generation programming platform

#83
post #3

> Perhaps 70% of developer time is spent dealing with parsing, serialization, and persistence. Values are encoded to and from JSON, to and from various binary formats, and to and from various persistent data stores… over and over again. This is not my experience at all. I've spent maybe an hour or two in the last few months on parsing, serialization, and persistence. For the work I do, these are all solved problems.…

>> Perhaps 70% of developer time is spent dealing with parsing, serialization, and persistence. Values are encoded to and from JSON, to and from various binary formats, and to and from various persistent data stores… over and over again. > This is not my experience at all. Yeah, unless you're tinkering around in a side project just to learn something, don't build your own JSON parser or writer. I've spent WAY more ti…

I didn't read it as getting your data serialized for storage, I read it as serializing your data between different libraries of a program. You know, putting the arguments to a function the right way round, changing the structure so that library A can talk to library B. I do spend a fair amount of time doing that, and it would be solved by a more semantic approach.

Re: Unison: a next-generation programming platform

#84

Wow, author here, was not expecting this to end up here! This project is very much in development, it's not close to a finished product and I hope I didn't give that impression. I created the site so there'd be a space other than my blog to share updates about progress and so on. If everything I wrote sounds like nonsense, check back in 6 months. I am hoping things will be much further along, and more concrete by the…

One term I didn't see on the page, but you should look into examples of if you already haven't, is "structure editor". That's the notion of a source code editor which doesn't allow free-form text editing, but creation of well-formed language semantics.

Re: Unison: a next-generation programming platform

#85
post #28

Here are some more blog posts about the project: http://pchiusano.github.io/unison/ As far as I can tell, the goal is to put interaction with a UI on the same level as editing a program. To this end, Unison expressions, values and UI elements all live in a single syntax tree which can be edited in a structured way. A demo would go a long way toward making this all clearer. Even some text describing what it would be l…

Doesn't this go against the MVC grain -- UI / model separation of concerns?

Re: Unison: a next-generation programming platform

#86
post #35

Earlier quoted context omitted.

I think it's more analogous to Urbit than LightTable.

From what I know of his project, the best description is probably a vertically integrated haskell-like language, fully structured editor (think paredit without parens), and distributed framework. So yeah, Urbit is a better analogue than LT :)

Except we don't have an editor ;)

Re: Unison: a next-generation programming platform

#87
post #44

Earlier quoted context omitted.

Pro tips: * Be courteous when offering constructive criticism (that means, for example, don't swear at people) * Often it's not the project owners posting things on HN - many projects aren't necessarily ready for public consumption when they end up on here * This doesn't even appear to be a "product". It's an open source project that seems to have been recently put out there Absolutely typical that this is the top ra…

Agreed. It's disturbing that there are so many members who are seemingly intelligent, but either haven't read the guidelines or think that guidelines don't apply to them.

[deleted]

Re: Unison: a next-generation programming platform

#88

Wow, author here, was not expecting this to end up here! This project is very much in development, it's not close to a finished product and I hope I didn't give that impression. I created the site so there'd be a space other than my blog to share updates about progress and so on. If everything I wrote sounds like nonsense, check back in 6 months. I am hoping things will be much further along, and more concrete by the…

One term I didn't see on the page, but you should look into examples of if you already haven't, is "structure editor". That's the notion of a source code editor which doesn't allow free-form text editing, but creation of well-formed language semantics.

Also, "tree editor".

Re: Unison: a next-generation programming platform

#89
post #28

Here are some more blog posts about the project: http://pchiusano.github.io/unison/ As far as I can tell, the goal is to put interaction with a UI on the same level as editing a program. To this end, Unison expressions, values and UI elements all live in a single syntax tree which can be edited in a structured way. A demo would go a long way toward making this all clearer. Even some text describing what it would be l…

Doesn't this go against the MVC grain -- UI / model separation of concerns?

Well, it just means you only have one V and one C for all the Ms in the universe.

Re: Unison: a next-generation programming platform

#90

Wow, author here, was not expecting this to end up here! This project is very much in development, it's not close to a finished product and I hope I didn't give that impression. I created the site so there'd be a space other than my blog to share updates about progress and so on. If everything I wrote sounds like nonsense, check back in 6 months. I am hoping things will be much further along, and more concrete by the…

Awesome project. Ignore the haters. I think this (https://pchiusano.github.io/2015-04-23/unison-update7.html#r...) was the link that I found most helpful to get an idea of what you're doing, of the random set of pages that I flipped through.
Post reply on HN