News for hackers. Stuff that matters.
Re:Full Metal Jacket: A Visual Programming Language Based on... by kyllo on Saturday July 16, 2016 @01:59PM (#12107264)
Programs are stored as S-expressions, are not particularly easy to read or safe to modify.

What you've built sounds very interesting, but this part is a problem you may need to solve before programmers will embrace it. If I can't use git with it, I can't develop any non-trivial software with it.

Re:Full Metal Jacket: A Visual Programming Language Based on... by mpbm on Saturday July 16, 2016 @02:44PM (#12107412)
You need version control and diffs, not git. In a visual system I think it makes more sense to use visual diffs, or algorithm generated summaries.

Technically, what git shows you is already a visual diff ;) and they like to draw the diff tree instead of describing it textually because it makes a lot more sense.

Re:Full Metal Jacket: A Visual Programming Language Based on... by vmorgulis on Saturday July 16, 2016 @02:34PM (#12107374)
Something that could work with git is to use a map.

Transform:

    (a1 a2 (b1 b2))
To:

    -------------
    parent  child
    -------------
    root    list1
    list1   a1
    list1   a2
    list1   list2
    list2   b1
    list2   b2
It should work with diff too if the ids are preserved.
Re:Full Metal Jacket: A Visual Programming Language Based on... by kyllo on Saturday July 16, 2016 @03:20PM (#12107537)
That's exactly how you store a tree in a relational database. Every row has a parent_id column. This language isn't just a tree though, it's a graph, so you would need a row per edge instead of a row per node. It would work with git as long as it's kept in sorted order and doesn't grow extremely large, but it isn't nice to view or edit directly; you would want a graph query language to interact with it.
Re:Full Metal Jacket: A Visual Programming Language Based on... by TeMPOraL on Saturday July 16, 2016 @09:15PM (#12108574)
That would work as long as the author isn't seriously abusing reader macros in the serialized format :).