sulong | Moved to oracle/graal | Blockchain library

 by   graalvm Java Version: Current License: Non-SPDX

kandi X-RAY | sulong Summary

kandi X-RAY | sulong Summary

sulong is a Java library typically used in Blockchain, Oracle applications. sulong has no vulnerabilities and it has low support. However sulong has 57 bugs, it build file is not available and it has a Non-SPDX License. You can download it from GitHub.

Obsolete repository. Moved to oracle/graal.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              sulong has a low active ecosystem.
              It has 618 star(s) with 62 fork(s). There are 57 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 6 open issues and 111 have been closed. On average issues are closed in 299 days. There are 4 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of sulong is current.

            kandi-Quality Quality

              OutlinedDot
              sulong has 57 bugs (13 blocker, 0 critical, 32 major, 12 minor) and 1339 code smells.

            kandi-Security Security

              sulong has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              sulong code analysis shows 0 unresolved vulnerabilities.
              There are 12 security hotspots that need review.

            kandi-License License

              sulong has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              sulong releases are not available. You will need to build from source code and install.
              sulong has no build file. You will be need to create the build yourself to build the component from source.
              sulong saves you 68793 person hours of effort in developing the same functionality from scratch.
              It has 77324 lines of code, 8429 functions and 818 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed sulong and discovered the below as its top functions. This is intended to give you an instant insight into sulong implemented functionality, and help decide if they suit your requirements.
            • Generate an extract element
            • Generate a readModify write operation
            • Create a CompareExchange instruction
            • Write a cast instruction
            • Write a binary operation
            • Write a ShuffleVector instruction
            • Write a Select instruction
            • Generate an insert element
            • Generate a allocate instruction
            • Generate the stack instruction
            • Translate a conditional branch instruction
            • Process a call instruction
            • Process a void call instruction
            • This method generates the list of successors for a switch
            • Handles a VoidInvokeInvoke instruction
            • Handles an extract value instruction
            • Visit a switch instruction
            • Add an indirect branch
            • Process an InsertValue instruction
            • Visits a store instruction
            • Process the return value
            • Processes a MD derived type
            • Process a single composite type
            • This method is called when a mdBasicType is being processed
            • Registers a local variable
            • Processes the symbol table
            • Visit a MDSSubroutine This method is called from a MDSSubroutine
            • To BigInteger
            • Performs the operation
            • We don t need to override this
            • Initializes the VM with the given virtual frame address
            Get all kandi verified functions for this library.

            sulong Key Features

            No Key Features are available at this moment for sulong.

            sulong Examples and Code Snippets

            No Code Snippets are available at this moment for sulong.

            Community Discussions

            QUESTION

            Implementing a programming language on the GraalVM architecture
            Asked 2019-Jul-24 at 20:08

            What are the (architectural) differences in implementing a programming language on the GraalVM architecture – in particular between Graal, Truffle, and LLVM using Sulong?

            I plan to reimplement an existing statically typed programming language on the GraalVM architecture, so that I can use it from Java without much of a hassle.

            There are at moment three options:

            • Emit JVM bytecode
            • Write a Truffle interpreter
            • Emit LLVM bitcode, use Sulong to run it on GraalVM

            ...

            ANSWER

            Answered 2019-Feb-12 at 19:14

            Emitting JVM bytecode is the traditional option. You will have to work at the bytecode level, and you'll have to optimise your code your before emitting bytecode as the options that the JVM has for optimising it after it has been emitted are limited. To get good performance you may have to use invokedynamic.

            Using Truffle is I'd say the easy option. You only have to write an AST interpreter and then code generation is all done for you. It's also the high performance option - in all languages where there is a Truffle version and a bytecode version, the Truffle version confidently outperforms the bytecode version as well as being simpler due to no bytecode generation stage.

            Emitting LLVM bitcode and running on Sulong is an option, but it's not one I would recommend unless you have other constraints that lead you towards that option. Again you have to do that bitcode generation yourself, and you'll have to optimise yourself before emitting the bitcode as optimisations are limited after the bitcode is set.

            Ruby is good for comparing these options - because there is a version that emits JVM bytecode (JRuby), a version using Truffle (TruffleRuby) and a version that emits LLVM bitcode (Rubinius, but it doesn't then run that bitcode on Sulong). I'd say that TruffleRuby is both faster and simpler in implementation than Rubinius or JRuby. (I work on TruffleRuby.)

            I wouldn't worry about the fact that your language is statically typed. Truffle can work with static types, and it can use profiling specialisation to detect more fine-grained types again at runtime than are expressed statically.

            Source https://stackoverflow.com/questions/54631823

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install sulong

            You can download it from GitHub.
            You can use sulong like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the sulong component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/graalvm/sulong.git

          • CLI

            gh repo clone graalvm/sulong

          • sshUrl

            git@github.com:graalvm/sulong.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Blockchain Libraries

            bitcoin

            by bitcoin

            go-ethereum

            by ethereum

            lerna

            by lerna

            openzeppelin-contracts

            by OpenZeppelin

            bitcoinbook

            by bitcoinbook

            Try Top Libraries by graalvm

            graalpython

            by graalvmPython

            simplelanguage

            by graalvmJava

            graalvm-demos

            by graalvmPython

            native-build-tools

            by graalvmJava