Sunday 4 February 2018

Announcing The ABAP Scheme Workbench

What is Scheme?


From Wikipedia, the free encyclopedia:
Scheme is a functional programming language and one of the two main dialects of the programming language Lisp. Unlike Common Lisp, the other main dialect, Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension.

Lisp is a 60 year old family of computer languages that represent both source code and data using a tree data structure (s-expressions).

SAP ABAP Tutorials and Materials, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning
s-expression for (* 2 (+ 3 4))

SAP ABAP Tutorials and Materials, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning
workbench view (* 2 (+ 3 4))

Getting Started


ABAP Scheme is available from Github and can be installed using from https://github.com/nomssi/abap_scheme using abapGit.

◈ the repository master branch was tested on Netweaver 7.4 SP09.
◈ the branch Netweaver-7.02 was downported to Netweaver 7.02

SAP ABAP Tutorials and Materials, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning

The code released with an MIT License:

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  DEALINGS IN THE SOFTWARE. 

Features


Check out the Wiki for documentation and sample code/games code.


SAP ABAP Tutorials and Materials, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning

Integration

When used as a script language, a single include YY_LIP_LISP is needed. Class lcl_lisp_interpreter evaluates your code from a string code, e.g

DATA(response) = NEW lcl_lisp_interpreter( )->eval_source( code ).

Workbench

The ABAP Scheme Workbench is the programming environment where ABAP Scheme programs are written and evaluated. It offers an editor, a console view and useful tools.

SAP ABAP Tutorials and Materials, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning

Recent Innovations


New with Milestone v0.1:

◈ Regression test suite with 350+ ABAP unit tests
◈ Nested quasi quotation
◈ Trace Viewer

SAP ABAP Tutorials and Materials, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning

◈ Graphical S-Expression Viewer using PlantUML server

SAP ABAP Tutorials and Materials, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning

◈ more demo code

Planned Innovations


◈ more language features (Scheme string handling)
◈ Debugger Script enhancement to display S-Expressions
◈ Specify limit for execution time of interpreter
◈ enable new ABAP editor with LISP syntax highlighting properties
◈ Use registry solution to store/restore state/code

Product Direction


◈ ABAP integration in the language and in the workbench with easy to use patterns for function module calls, method calls and SQL queries.
◈ Powerfull scripting language in ABAP with hygienic macros, seamless ABAP interoperability

No comments:

Post a Comment