5 ms·
Automorph - AI for software development I'm developing a programming language called Morph inspired by LISP, Smalltalk, Eiffel JavaScript, Python (and others).
by gfmio 10y ago
Automorph - AI for software development
I'm developing a programming language called Morph inspired by LISP, Smalltalk, Eiffel JavaScript, Python (and others). It's extendible, homoiconic and designed to be transpiled to other languages, so that you can build entire projects with multiple applications on separate platforms from one code base. This is then coupled with a symbolic AI engine to generate, build and deploy applications at an increasingly higher level of abstraction.
- Grustaf 10y agoSounds like a very interesting (and ambitious!) project, looking forward to hearing more about it!
- gfmio 10y agoI will post updates here on HN :) Stay tuned!
- merqurio 10y agoWhat is the purpose of the AI? What is it's function ?
- gfmio 10y agoThe code base (and libraries and packages) serve as a knowledge base of definitions (what things are) and procedures (what things exist). The symbolic AI engine can then take information from this (essentially code snippets) and combine them in novel ways. Example: If you know what a RESTful API is (how it is defined), what MongoDB is and which data models you want to deal with, you can generate the source code for an API handling those data models with MongoDB backend from this. Other example: If you know what requests your API supports, what the semantic data types of the objects and fields are and what a UI-based application is, then you can generate a web, mobile or desktop application from this providing a wrapper around this API. The goal here is not to replace programmers entirely, but to alleviate the pain of having to code things up manually, especially boilerplate. Because you can deal with issues at a higher level of abstraction now, this can make programming more approachable to (so far) non-programmers.
- namuol 10y agoDo you have any examples of prior art? Sounds really interesting.
- gfmio 10y agoThe language itself draws some inspiration from LISP, Smalltalk, Eiffel, JavaScript and Python. I guess, SICP was a huge influence on my thinking about this problem. Compilers (in particular cross-compilers) do something similar, but otherwise code generation has come a bit out of fashion (due to the limitations arising if you don't have a Turing complete language as a base). Some people have also looked at NN for code generation, but nothing usable has come from this so far afaik.