defining a (programming) language/annotation system ?

11 views
Skip to first unread message

Dante-Gabryell Monson

unread,
Jul 5, 2010, 6:00:27 AM7/5/10
to agile-...@googlegroups.com, econ...@googlegroups.com, elf Pavlik, S H, marc fawzi, Michel Bauwens, Robin Upton
HI Robin ... just noticed your Phd page !


( cc: very small 2 persons lists, and some more people I m having a related topic exchange with )

I realize I picture intuitively such type of relations ( in space, in my mind ),
but I do not have an understanding of mathematical representations.

In terms of my current systems thinking,
I realize it could be interesting to have some kind of programming language to annotate various components/code that are mostly used.

----- 


For example, at the base ( ? )
- request relations : "requests (need)" , "request to support (offer to satisfy need)"
- request of request relations : such as "conditions before activating the transactions of the request, or of the request to support" ( such as the architecture of http://www.kickstarter.com/ ) , or "loss of value of certain units over time when in a certain context" ( hoarding ? ) such as with demurrage )

Side example : Some of these conditions being for example, in the current monetary system, repayment of a certain type of unit over a certain amount of time, at a certain interval, plus interest over time. With time, type of unit, and interest being "objects" in the system related to "conditions",
and units potentially seen also as the product of this architecture.

and based on these, various potential approaches to make these two meet - approaches which can be "engines/processes" as objects in such language, such as :
- direct matching
- distributed multi hop matching ( distributed clearing ? )
etc...

- other "functionalities" as objects can be added, such as meta-information systems related to the objects ( geolocation, accumulated content such as energy use or labor time, labor conditions, cumulated individual subjective evaluations, etc )

- p2p "accreditations" of completed transactions ( between giver and receiver ),  
which can for example be used as a type of data which can be used related to future choice making of individuals, when they evaluate the best "policy" corresponding to their needs, such as for example a policy aimed at maximizing their "personal empowerment ( based on set individual goals or intentions ) by empowering others"

- "active" objects , which can code into the system ,
such as "individual profiles" which can act, or "project profiles" which can act ( such as by "issuing an architecture related to the transactions they want to project", including requests, or requests to support, with this or that conditionality, etc ) 

----

With all of this, I would like to visualize and express all types of architectures !


----

Through trying to define such kind of broader annotation system, how would a f2f approach, such as the one you propose, be annotated?

It seems to use a distributed multi hop matching. 
side note: does does it actually create a matching, or does it rather diffuse information of a request ( request as need to receive, or request as support ) as to enable users in the f2f to respond to it by "creating" a request ( to support, or to receive ) that can match it ?

Such as on the freecycle email lists, except that it would be distributed through channels that posses trust ( through private key ) ?

-----

What I would like to see, is through such annotation ( or even using such annotation as a programming language ),
enable a broader operating system of inter-dependent networked architectures.

---

And a question to all programmers in cc...
What language to use ?

I am not a programmer yet, and am not sure what programming tool to use as to best enable such kind of definitions, in this context.
Perhaps "Processing" ( http://wiki.processing.org/w/Main_Page ) for ease of use, as a sketch? But not as a software which enables distributed communication with its peers through a network ?

Or would a multi paradigm language be of "best" use ?
Such as



Thanks !


On Mon, Jul 5, 2010 at 3:35 AM, Robin Upton <robi...@altruists.org> wrote:
I did some banditry for my thesis - not surprised no one cited it though - it's pretty abstract. Thanks for this.

Dante-Gabryell Monson

unread,
Jul 5, 2010, 7:00:56 AM7/5/10
to dante....@gmail.com, agile-...@googlegroups.com, econ...@googlegroups.com, elf Pavlik, S H, marc fawzi, Michel Bauwens, Robin Upton, Samuel Rose, Alex Rollin, ope...@googlegroups.com
ps: I set up my questions and suggestions on a wiki page :


The objective being that such potential language could be used by any user of the system,
so that they can create and add their own requests ( for beginners ), projects ( more advanced users ), or even add their own financial architectures using the language ( even more advanced ).

Hence make it granular , as to enable simplicity,
but potentially interconnected, as to enable complexity,

and enable visualization of inter-dependencies, as to enable transparency,
and choice.

From there on, individual users can choose to be connected, or not, to non-transparent architectures that would want to interact wit the networked systems, in which every peer user can create its code, and each peer user can choose to participate or not in transactions defined by other peoples code.

Hence to sum up, the objective is that all existing financial architectures and services can be represented using such language, enabling the data of all types of transactions in all languages to be potentially interdependent, while also enabling emergent forms of direct governance by using each user to choose the type of transactions they are willing to be involved in, and which types of transactions they would like to suggest for other users to participate in.

It can represent interest based credit units, mutual credit , c3, gifts, donations, threshold transactions, f2f, etc

using any type of measurement unit ( objective , but also individually subjective )
while adding any further type of context ( such as geo-location ) 

while enabling access to information of input and total output to be open, unless they have been closed ( which also enables people to make choices as for the us of closed systems )

Dante-Gabryell Monson

unread,
Jul 5, 2010, 8:38:56 AM7/5/10
to Samuel Rose, agile-...@googlegroups.com, econ...@googlegroups.com
Thanks Sam !

Can we create a form of representation/annotation which can also be used as a programming language ?

Hence would there be an existing programming language that would be most suitable to express the objects and processes used ?

Can we create a universal language which can enable users to participate in, or even create any kind of architecture, building from a set of relations, objects, processes... and architectures of processes ( engines ? )

I m curious - What programming language(s) do you intend to use when creating an accounting toolkit ?  Does it correspond to the type of languages that could be used to define what I tried to express in this last message ?

Thanks !

On Mon, Jul 5, 2010 at 2:28 PM, Samuel Rose <samue...@gmail.com> wrote:
I like the ideas. Although a caveat: an annotation system is not a
programming language.

If you are truly looking to create a "programming language":
http://en.wikipedia.org/wiki/Universal_Turing_machine could be a
useful reference.  It would actually be a good idea to think about
what you are talking about above in terms of "Turing Completeness"
because this would give you a set of building blocks to create
basically any type of accounting possible.

Yet, it'd likely be most useful to people now to not create anything
that would force people to adopt one standard, or way of doing things.
The harder problem, with the larger payoff, is to think about how to
make existing alternative financial systems actually inter-operable.
First, there needs to be a way to abstract the financial system. What
is it typically used for? etc

We (Future Forward Institute/Forward Foundation) hope to release some
form of toolkit for accounting in wealth generating ecologies by late
fall.


--
--
Sam Rose
Future Forward Institute and Forward Foundation
Tel:+1(517) 639-1552
Cel: +1-(517)-974-6451
skype: samuelrose
email: samue...@gmail.com
http://forwardfound.org
http://socialsynergyweb.org/culturing
http://flowsbook.panarchy.com/
http://socialmediaclassroom.com
http://localfoodsystems.org
http://notanemployee.net
http://communitywiki.org
http://p2pfoundation.net

"The universe is not required to be in perfect harmony with human
ambition." - Carl Sagan

Dante-Gabryell Monson

unread,
Jul 5, 2010, 8:42:36 AM7/5/10
to Samuel Rose, agile-...@googlegroups.com, econ...@googlegroups.com
ps: I realise the way I perceived notation, or annotation, is different then what most people define it like.

What I mean, is elements which can represent a set of other elements, and which can be re-used.

How does one call this ?

Dante-Gabryell Monson

unread,
Jul 5, 2010, 10:06:07 AM7/5/10
to Samuel Rose, Peer-To-Peer Research List, Michel Bauwens, Paul B. Hartzog, Richard Adler


On Mon, Jul 5, 2010 at 3:01 PM, Samuel Rose <samue...@gmail.com> wrote:
On Mon, Jul 5, 2010 at 8:38 AM, Dante-Gabryell Monson
> Thanks Sam !
> Can we create a form of representation/annotation which can also be used as
> a programming language ?


annotation cannot be used as a programming language. However, a
programming language could possibly use annotations applied, depending
on how the system is architected.

Thanks Sam.
I m in a learning process, and you are all helping me in it.
I may be making up my own definitions, and re-inventing what already may exist,
so I ll try to give better terms to explain what I currently visualize in relation to a p2p system for everyone to become their own economist :)

 

> Hence would there be an existing programming language that would be most
> suitable to express the objects and processes used ?

Any "Turing Complete" programming language could work to do the basic
processes that make up computation. It is best to create an abstract
of "objects and processes" which can then be implemented in any
existing or future programming language.

When I think about it I imagine it as the "computation" to be the "users" themselves.

I also imagine that it is emergent as the "users" self program the system, as they code in transactions and architectures for transactions, and choose to network or not such systems ( or create conditions for access to networked architectures and interdependent transaction systems )

An operating system, not for a computer, but for interdependent systems of users.

Various layers :

A network of computers using computer computation needed for the storing and handling of the data ( the coded architectures, the set transactions, the accredited transactions, the added metadata, etc ... )  making it visible/accessible to all users.

It is only in addition to this that other tools can be used,
tools which themselves can be represented ( annotated ? ) in a certain way.

Tools that can offer extensions then eventually simulate/compute by building on available data, either as a "engine" used by users ( for example a p2p clearing tool such as ripple ? or a f2f tool ? ) , either itself as a "user" of the system ( agent based computing as virtual users ? ).

Calculations for all transactions ( computing ), clearing, etc could be done in a distributed way,
but would only be subtools. 

----

Hence the easiest way of looking at it, could be to imagine the creation of a board game,
which facilitates users to make choices for the requests and offers they are willing to make, and a variety of architectures they can use / suggest, by "playing" with more granular sets and commands ?



> Can we create a universal language

I was just thinking to myself yesterday that it is often a bad idea to
use the word "universal" in relation to languages. Because, in this
context, nothing can ever truly be "universal". There will always be
either cases you are not aware of, and/or languages that are not aware
of your "universality" effort. Thus, you'll always fall short of truly
being "universal". Therefore, using the word "universal" is inaccurate
and could be bad for present and future participant understanding of
the real nature of the system. It could create expectations which are
actually impossible.

"integral"  ? "Panarchic" ? 


>which can enable users to participate in,
> or even create any kind of architecture, building from a set of relations,
> objects, processes... and architectures of processes ( engines ? )

The funny thing is that what you describe above has already been done.
people *have* made this possible with basically any programming
language. There's a barrier to entry to those who are not programmers,
and even to programmers who do not have the time bandwidth to address
the problem properly.

Yes. I have been exploring existing programming languages, and various programming "paradigms", and was asking myself where to start ? What language would be more appropriate :)
 

> I m curious - What programming language(s) do you intend to use when
> creating an accounting toolkit ?

We started to implement in erlang. Although our initial creation will
likely be simple enough to be recreated in other languages.

I considered Erlang too.
Also "smalltalk" ( as object oriented - it also seems to be used a lot in finance ? )

Then I thought, perhaps its easier to use a language which offers a graphical interface such as "processing"

I was also exploring multi-paradigm languages, such as "Oz" 


> Does it correspond to the type of
> languages that could be used to define what I tried to express in this last
> message ?

The real mission is not to create one toolkit, or one programming
language, or one system, but convince as many participants as possible
to either implement a way for their systems to talk to other systems,
or get them to adopt a system that is designed for interoperability.
We have thousands of systems, but few people who understand that they
need to give the rest of the world some simple way to talk with their
system. It can be *any* standard, so long as it is decipherable and
callable outside of the local program it is deployed in. This would
then create an ecology that would allow *many* systems to be deployed,
*many* metaprogramming languages, etc.

:)
 
The limit would then only be
the limit of the physical resources of servers and machines to serve
data. Many information ecologies have already transitioned towards
this type of ecology (they all usually implement some form of API,
etc).

The other major mission that I see, also not creating a toolkit, but
rather making it easier for people to *be* participants. For example,
automating participation through barcode, RFID tracking, GPS tracking
etc

yes !  :)
 

The above 2 combined are the ecology needed, I believe, for what you describe.

(Dante, I removed the 2 email lists you had CC'ed as I am not
subscribed to them and my message is definitely be blocked from being
sent to them. I include p2presearch list which may be interested in
this discussion, as well as Michel, Paul and Richard)

Thanks Sam ! Hi all people on p2prlist , Paul and Richard !
 


> Thanks !

Dante-Gabryell Monson

unread,
Jul 5, 2010, 11:11:56 AM7/5/10
to Samuel Rose, Michel Bauwens, Paul B. Hartzog, Richard Adler, Alex Rollin, agile-...@googlegroups.com, econ...@googlegroups.com
Thanks Sam,

I guess I will not wait till then, and will find access to telepathic channels in the ether of the noosphere ;)

I also formulated such protocol in one of my last messages, pasted on


although the difficulty is often to find a way of bringing words and phrases together in a way that others may understand,

and then find other tools to make it more explicit :)
( even though we may use verbal language, and wiki's in the meantime )

I imagine the protocol I shared to be able to express most existing financial architectures I have heard of,

while also enabling them to be included into one distributed system.

Its about turning it into a tool... 
real fun, to me :)

On Mon, Jul 5, 2010 at 5:01 PM, Samuel Rose <samue...@gmail.com> wrote:
On Mon, Jul 5, 2010 at 10:06 AM, Dante-Gabryell Monson
What you have in mind is what we are now working on in Forward
Foundation/FFI, which is a way to create working models of the various
logics and dynamics of human interaction. Everything we've published
so far is a piece of the puzzle, and there are more coming, with a
large tying-together to follow.

If people want us to publish our work on this faster, we recommend
that they can donate to us (paypal: samue...@gmail.com )  so that
we can dedicate more time and development cycles in the short-term
future to creating this work and releasing it under an open license
(both software and theory).

Dante-Gabryell Monson

unread,
Jul 5, 2010, 11:37:34 AM7/5/10
to Samuel Rose, Michel Bauwens, Paul B. Hartzog, Richard Adler, Alex Rollin, agile-...@googlegroups.com, econ...@googlegroups.com
Thanks Sam 

It is very useful - I will continue experimenting.
Thank you for these last suggestions that empower me to advance.

Yes, for me value is created for the sake of the learning and co-creative process itself,
but I do acknowledge that recognition ( such as through publishing ) for the time spent in maintaining such process can potentially enable further aggregation of resources to sustain such process.

Greetings
Dante

On Mon, Jul 5, 2010 at 5:28 PM, Samuel Rose <samue...@gmail.com> wrote:
On Mon, Jul 5, 2010 at 11:11 AM, Dante-Gabryell Monson
> Thanks Sam,
> I guess I will not wait till then, and will find access to telepathic
> channels in the ether of the noosphere ;)
> I also formulated such protocol in one of my last messages, pasted on
> http://cashwiki.org/en/A_Financial_Programming_Language
> although the difficulty is often to find a way of bringing words and phrases
> together in a way that others may understand,
> and then find other tools to make it more explicit :)
> ( even though we may use verbal language, and wiki's in the meantime )
> I imagine the protocol I shared to be able to express most existing
> financial architectures I have heard of,
> while also enabling them to be included into one distributed system.
> Its about turning it into a tool...
> real fun, to me :)


I promise I am not trying to be rude, and we'll always share as much
as we can. Yet, we all agree (myself, Richard, Paul) that there is
value in our taking time we've invested together in topics like this
to make sure that we can see some form of return on the investment of
time that we have into the hours and hours we've spent together
thinking, synthesizing, and building. The best return on investment
that we can get, given our commitment to releasing things in
copylefted and open way, is to create and publish/release things in a
way that helps us sustain our ability to do this type of work.

All of that said, I will share with you this:

Knowing the full scope of what you are thinking about, the best
approach you could take if you cannot actually work with real human
participants, would be to use http://ccl.northwestern.edu/netlogo/ or
python programming language, and create a "model" of the complex
adaptive system you are imagining and talking about on cashwiki. This
would help to generate some basic abstract operating principles, and
could show your idea in action. Logo is fairly easy to learn, and
Netlogo has built in visualization. Plus, in netlogo many of the basic
game theory concepts are already implemented, so this can make it
easier to borrow from existing code examples.

This example comes close to what you are probably talking about:
http://ccl.northwestern.edu/netlogo/models/DiningPhilosophers

It helps to understand the problems of "starvation" and "deadlock"
that are inherent in concurrent systems


(see also pdf attached which has lots of info)

Dante-Gabryell Monson

unread,
Jul 5, 2010, 1:24:50 PM7/5/10
to agile-...@googlegroups.com, econ...@googlegroups.com
confirmation related to erlang as an ideal language for stated purposes

---------- Forwarded message ----------
From: Samuel Rose <samue...@gmail.com>
Date: Mon, Jul 5, 2010 at 5:51 PM
Subject: Re: defining a (programming) language/annotation system ?
To: dante....@gmail.com
Cc: Michel Bauwens <michel...@gmail.com>, "Paul B. Hartzog" <paulbh...@gmail.com>, Richard Adler <richar...@gmail.com>, Alex Rollin <alex....@gmail.com>, agile-...@googlegroups.com, econ...@googlegroups.com


Another insight I am willing to share with you Dante, related to Erlang:

The core secret to why erlang works so successfully as a concurrent
programming language is found in "immutable variables".

This means (unlike most other programming languages) that once "X = 1"
it cannot be assigned to anything else. If you need a new value, you
have to make a new uniquely named variable: "X1 = 2" etc

This enables Erlang programs to run on hundreds of machines at the
same time, with very few problems.  This is an important concept for
scaling up concurrency.

On Mon, Jul 5, 2010 at 11:37 AM, Dante-Gabryell Monson

Dante-Gabryell Monson

unread,
Jul 5, 2010, 2:05:09 PM7/5/10
to agile-...@googlegroups.com, econ...@googlegroups.com
netlogo ( or Oz ? ) proposed as a programming language for agent based approach

and potential for visualizations with netlogo

---------- Forwarded message ----------
From: Paul B. Hartzog <paulbh...@gmail.com>
Date: Mon, Jul 5, 2010 at 5:55 PM
Subject: Re: defining a (programming) language/annotation system ?
To: Samuel Rose <samue...@gmail.com>
Cc: dante....@gmail.com, Michel Bauwens <michel...@gmail.com>, Richard Adler <richar...@gmail.com>, Alex Rollin <alex....@gmail.com>


Chandy / Misra solution to resource allocation: "completely
distributed and requires no central authority" http://bit.ly/2wQvT3

would be a great solution to model using complex systems / Netlogo....

-p



On Mon, Jul 5, 2010 at 11:28 AM, Samuel Rose <samue...@gmail.com> wrote:

> On Mon, Jul 5, 2010 at 11:11 AM, Dante-Gabryell Monson
> <dante....@gmail.com> wrote:
>> Thanks Sam,
>> I guess I will not wait till then, and will find access to telepathic
>> channels in the ether of the noosphere ;)
>> I also formulated such protocol in one of my last messages, pasted on
>> http://cashwiki.org/en/A_Financial_Programming_Language
>> although the difficulty is often to find a way of bringing words and phrases
>> together in a way that others may understand,
>> and then find other tools to make it more explicit :)
>> ( even though we may use verbal language, and wiki's in the meantime )
>> I imagine the protocol I shared to be able to express most existing
>> financial architectures I have heard of,
>> while also enabling them to be included into one distributed system.
>> Its about turning it into a tool...
>> real fun, to me :)
>
>
--
--------------------------------------------------------
The Forward Foundation
http://www.ForwardFound.org
paul.b....@forwardfound.org
--------------------------------------------------------
http://www.PaulBHartzog.org
PaulBH...@PaulBHartzog.org
--------------------------------------------------------
http://www.panarchy.com
PaulBH...@panarchy.com
--------------------------------------------------------
University of Michigan
PHar...@umich.edu
--------------------------------------------------------
The Universe is made up of stories, not atoms.
                --Muriel Rukeyser

Perceive differently, then you will act differently.
                --Paul B. Hartzog
--------------------------------------------------------

Reply all
Reply to author
Forward
0 new messages