基于区块链的毕业设计Ethyl – 乙基

本文提供基于区块链的毕业设计国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,基于区块链的毕业设计Ethyl – 乙基 是一篇很好的国外资料

Ethyl

Ethyl - 乙基

A pure and non-general subset of Elixir

About

Ethyl is a subset of the Elixir general-purpose programming language written in Elixir. Ethyl allows one to write purely functional expressions using Elixir syntax.

Ethyl is closely related to sandboxing efforts like dune or sand, but it does not intend on offering a complete (or even close to complete) or secure implementation of Elixir. Instead Ethyl is more like nix: it puts forth a language that is powerful enough to compute expressions but not powerful enough to perform any side effects. For example, you can’t run an HTTP client or server in Ethyl, but you could write functions for encoding and decoding HTTP packets.

Purpose

Writing completely purely functional code is not typically useful: at the end of the day you need to do some IO or else any program will just make your computer warm and then exit.

Ethyl programs are intended to be called from Elixir so that Elixir passes in any inputs and handles any outputs. From the example above, an Elixir program could pass in some data structure representing an HTTP request to an ethyl program and receive an encoded frame as output.

Ethyl enforces a separation between purely functional code and impure code. Impure code is oftentimes stateful and/or imperative in nature. Enforcing a boundary between the two can allow one to switch out conceptual logical cores of applications separately from the machinery that drives the logic. Because of their purity, Ethyl programs can be released as fast as they can be downloaded and evaluated, while general Elixir programs should be compiled and packaged for a more classical deployment (e.g. a release running on a Virtual Machine or a Docker container running in an orchestration layer).

Changes from Elixir

There are a few behavior changes from Elixir built-ins:

  • defmodule/2 returns the module’s name instead of a tuple
  • import/1 accepts a binary as an argument, allowing one to import the value of a separate Ethyl file by path
    my_value = import "./my_value.exs"

There are also some restrictions:

  • Networking, file access, processes, and metaprogramming are disabled
    • A more concrete set of functions which are allowed or disallowed is planned for the future.
  • :erlang.binary_to_term/1 is disabled

Ethyl

Ethyl - 乙基

A pure and non-general subset of Elixir

About

Ethyl is a subset of the Elixir general-purpose programming language written in Elixir. Ethyl allows one to write purely functional expressions using Elixir syntax.

Ethyl is closely related to sandboxing efforts like dune or sand, but it does not intend on offering a complete (or even close to complete) or secure implementation of Elixir. Instead Ethyl is more like nix: it puts forth a language that is powerful enough to compute expressions but not powerful enough to perform any side effects. For example, you can’t run an HTTP client or server in Ethyl, but you could write functions for encoding and decoding HTTP packets.

Purpose

Writing completely purely functional code is not typically useful: at the end of the day you need to do some IO or else any program will just make your computer warm and then exit.

Ethyl programs are intended to be called from Elixir so that Elixir passes in any inputs and handles any outputs. From the example above, an Elixir program could pass in some data structure representing an HTTP request to an ethyl program and receive an encoded frame as output.

Ethyl enforces a separation between purely functional code and impure code. Impure code is oftentimes stateful and/or imperative in nature. Enforcing a boundary between the two can allow one to switch out conceptual logical cores of applications separately from the machinery that drives the logic. Because of their purity, Ethyl programs can be released as fast as they can be downloaded and evaluated, while general Elixir programs should be compiled and packaged for a more classical deployment (e.g. a release running on a Virtual Machine or a Docker container running in an orchestration layer).

Changes from Elixir

There are a few behavior changes from Elixir built-ins:

  • defmodule/2 returns the module’s name instead of a tuple
  • import/1 accepts a binary as an argument, allowing one to import the value of a separate Ethyl file by path
    my_value = import "./my_value.exs"

There are also some restrictions:

  • Networking, file access, processes, and metaprogramming are disabled
    • A more concrete set of functions which are allowed or disallowed is planned for the future.
  • :erlang.binary_to_term/1 is disabled

部分转自网络,侵权联系删除区块链源码网

www.interchains.cc

https://www.interchains.cc/24812.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 基于区块链的毕业设计Ethyl – 乙基

提供最优质的资源集合

立即查看 了解详情