SOP - Semantic Oriented Programming
???, ????? ?????? ????? ??? SOP ? SymADE:
http://www.symade.com/ - ???????? ? SOP
http://www.symade.org/ - ????????? ? ?????????? SymADE.
http://www.symade.org/forum/ - ????? ??? SOP ? SymADE.
http://www.symade.org/svn/ - ????????? (Subversion repository)
http://www.symade.org/trac/ - wiki ? bugtracking ??? SymADE.
SOP - Semantic Oriented Programming, ??????? ?? ???? ? Language
Oriented Programming ??? Intentional Programming.
????????? ???????????????? ??????????????? ? ???? ????????????? ???????,
??????? ??? ??????????? ????? ? ??????????.
SymADE - Symbolic Adaptable Development Environment. ????? ??????????
??? SOP. ??????? ??????? ????-???????????????? "? ????????????
?????". ?? ???? ?????? ?????????? ????? (????????????? ??????????) -
?????? ????? ?? ?????????? ????????????? ?????????, ? ?????????????
???????????? ????????? ??? ?????????????? ???????????????
?????? ????? (??????? ?????????? ??? ????? ??? ??? ???-??????).
? ???-?? ?????????? ??? ?????????????? (rewriting) ??????
????????????? ????? ? ????? ?????????? backend-?? (? ??????
????????????? ??????? ??????????????? ??????????? backend-??).
? ???-?? front-end ??? ???????? java-?????????
???? (Kiev Compiler ??? ? ?????????) ? backend ??? JVM.
????????? ?????? ?? ????????????? MPS ;-)
Please sign in to leave a comment.
Hello,
I haven't found anything on your site but general buzzwords, so, unfortunately I can't tell anything about your system.
P.S: I want to notice that THIS IS NOT a Russian speaking forum, so use English please.
Or, sorry, I found instruction for building your system. It looks like your are going to create a java based lisp with a pretty editor.
What do you mean "java based lisp"?
Well, it can be expressed in this way, because now it looks like this.
Java is because of java backend and java roots of the compiler, but it's an extended java with modified semantic.
Lisp because of the meta-programming power, but in lisp you define attributes by ordinal (position in a list), and here you have names and some additional definitions for attributes.
"java" is just an implementation detail, which has nothing common with the idea itself.
You can easily define a language like haskell or prolog or SQL.
Potentially you can use a .NET or OCaml or C as backend.
You can use graphics in the 'editor' to make the code look like an UML diagram.
Anyway, your understanding of the idea is rather expressive. Because of your work on a similar project, right? ;-)
I didn't mean anything bad about your system, when I said that it was something like a java based lisp. I like lisp, it's a good language, and today it is the most widely used meta programming system.
I take a look at your system, but the only DSL I found in it is the DSL describing editor presentation, the one that you mentioned in the tutorial, other DSL notations are derived from kiev. Am I right? Unfortunately, your system has too little documentation.