Hy (programming Language)
   HOME





Hy (programming Language)
Hy is a dialect of the Lisp programming language designed to interact with Python by translating s-expressions into Python's abstract syntax tree (AST). Hy was introduced at Python Conference (PyCon) 2013 by Paul Tagliamonte. Lisp allows operating on code as data ( metaprogramming), thus Hy can be used to write domain-specific languages. Similar to Kawa's and Clojure's mappings onto the Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally descr ... (JVM), Hy is meant to operate as a transparent Lisp front-end for Python. It allows Python libraries, including the standard library, to be imported and accessed alongside Hy code with a compilingThe term "compiled" may apply to expressing Hy code in Python's AST or converting that AST into bytecode, the latter being d ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Cuttlefish
Cuttlefish, or cuttles, are Marine (ocean), marine Mollusca, molluscs of the order (biology), suborder Sepiina. They belong to the class (biology), class Cephalopoda which also includes squid, octopuses, and nautiluses. Cuttlefish have a unique internal mollusc shell, shell, the cuttlebone, which is used for control of buoyancy. Cuttlefish have large, W-shaped pupils, eight Cephalopod arm, arms, and two tentacles furnished with :wikt:denticulate, denticulated suckers, with which they secure their prey. They generally range in size from , with Cephalopod size, the largest species, the giant cuttlefish (''Sepia apama''), reaching in mantle (mollusc), mantle length and over in mass. Cuttlefish eat small molluscs, crabs, shrimp, fish, octopuses, worms, and other cuttlefish. Their predators include dolphins, larger fish (including sharks), seals, seabirds, and other cuttlefish. The typical life expectancy of a cuttlefish is about 1–2 years. Studies are said to indicate cuttlefis ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Programming Language
A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually defined by a formal language. Languages usually provide features such as a type system, Variable (computer science), variables, and mechanisms for Exception handling (programming), error handling. An Programming language implementation, implementation of a programming language is required in order to Execution (computing), execute programs, namely an Interpreter (computing), interpreter or a compiler. An interpreter directly executes the source code, while a compiler produces an executable program. Computer architecture has strongly influenced the design of programming languages, with the most common type (imperative languages—which implement operations in a specified order) developed to perform well on the popular von Neumann architecture. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language, low-level programming language (e.g. assembly language, object code, or machine code) to create an executable program.Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman - Second Edition, 2007 There are many different types of compilers which produce output in different useful forms. A ''cross-compiler'' produces code for a different Central processing unit, CPU or operating system than the one on which the cross-compiler itself runs. A ''bootstrap compiler'' is often a temporary compiler, used for compiling a more permanent or better optimised compiler for a language. Related software ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Standard Library
In computer programming, a standard library is the library (computing), library made available across Programming language implementation, implementations of a programming language. Often, a standard library is specified by its associated programming language specification, however, some are set in part or whole by more informal practices of a language community. Some languages define a core part of the standard library that must be made available in all implementations while allowing other parts to be implemented optionally. As defined with the core language aspects, the line between the core language and its standard library is relatively subtle. A programmer may confuse the two aspects even though the language designers intentionally separate the two. The line between the core language and its standard library is further blurred in some languages by defining core language constructs in terms of its standard library. For example, Java (programming language), Java defines a str ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Library (computing)
In computing, a library is a collection of System resource, resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled function (computer science), functions and Class (computer programming), classes, or a library can be a collection of source code. A resource library may contain data such as images and Text string, text. A library can be used by multiple, independent consumers (programs and other libraries). This differs from resources defined in a program which can usually only be used by that program. When a consumer uses a library resource, it gains the value of the library without having to implement it itself. Libraries encourage software reuse in a Modular programming, modular fashion. Libraries can use other libraries resulting in a hierarchy of libraries in a program. When writing code that uses a library, a programmer only needs to know how to use it not its internal d ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Open Source For You
EFY Enterprises, also known as EFY Group, is a privately held Indian technology-oriented publishing organisation based in New Delhi. The initial publication of the EFY Group was ''Electronics For You'', a monthly electronics magazine that was first published in 1969. The EFY Group currently manages six magazines, six web portals, five annual events, four Facebook communities, a directory, and around 30 book titles. The company also provides hands-on training courses, and manufactures and markets Do-It-Yourself electronics projects and hobby kits. Its revenue is over 11 million rupee Rupee (, ) is the common name for the currency, currencies of Indian rupee, India, Mauritian rupee, Mauritius, Nepalese rupee, Nepal, Pakistani rupee, Pakistan, Seychellois rupee, Seychelles, and Sri Lankan rupee, Sri Lanka, and of former cu ...s per year. The organisation hires 200 employees, who are situated mostly in southeast Asia. Two more organisations are part of the group: IT Solutions ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Java Virtual Machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes what is required in a JVM implementation. Having a specification ensures interoperability of Java programs across different implementations so that program authors using the Java Development Kit (JDK) need not worry about idiosyncrasies of the underlying hardware platform. The JVM reference implementation is developed by the OpenJDK project as open source code and includes a JIT compiler called HotSpot. The commercially supported Java releases available from Oracle are based on the OpenJDK runtime. Eclipse OpenJ9 is another open source JVM for OpenJDK. JVM specification The Java virtual machine is an abstract (virtual) computer defined by a specification. It is a part of the Java runtime environment. The garbage collection ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




PyCon
The Python Conference (also called PyCon) is the largestpage 10 annual convention for the discussion and promotion of the Python programming language. It originated in the United States but is also held in more than 40 other countries. It was one of the first computer programming conferences to develop and adhere to a code of conduct. The conference hosts tutorials, demonstrations and training sessions. PyCon 2020 was listed as one of "The best software engineering conferences o attendof 2020" and "As Python becomes ever more popular in the scientific community and for big data, the influence of PyCon will continue to grow." PyCon is often attended by Guido van Rossum (the author of the Python language). Other groups, such as PyLadies and Django Girls, often have concurrent sessions. It is sometimes referred to in software documentation and conference papers. It is organised by the Python Software Foundation, and is supported by many significant companies, including Microso ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Domain-specific Language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code. DSLs can be further subdivided by the kind of language, and include domain-specific ''markup'' languages, domain-specific ''modeling'' languages (more generally, specification languages), and domain-specific ''programming'' languages. Special-purpose computer languages have always existed in the computer age, but the term "domain-specific language" has become more popular due to the rise of domain-specific modeling. Simpler DSLs, particularly ones used by a single application, are sometimes informally called mini-languages. The line between general-purpose languages and doma ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Metaprogramming
Metaprogramming is a computer programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyse, or transform other programs, and even modify itself, while running. In some cases, this allows programmers to minimize the number of lines of code to express a solution, in turn reducing development time. It also allows programs more flexibility to efficiently handle new situations with no recompiling. Metaprogramming can be used to move computations from runtime to compile time, to generate code using compile time computations, and to enable self-modifying code. The ability of a programming language to be its own metalanguage allows reflective programming, and is termed ''reflection''. Reflection is a valuable language feature to facilitate metaprogramming. Metaprogramming was popular in the 1970s and 1980s using list processing languages such as Lisp. Lisp machine hardware ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Python Conference
The Python Conference (also called PyCon) is the largestpage 10 annual convention for the discussion and promotion of the Python programming language. It originated in the United States but is also held in more than 40 other countries. It was one of the first computer programming conferences to develop and adhere to a code of conduct. The conference hosts tutorials, demonstrations and training sessions. PyCon 2020 was listed as one of "The best software engineering conferences o attendof 2020" and "As Python becomes ever more popular in the scientific community and for big data, the influence of PyCon will continue to grow." PyCon is often attended by Guido van Rossum (the author of the Python language). Other groups, such as PyLadies and Django Girls, often have concurrent sessions. It is sometimes referred to in software documentation and conference papers. It is organised by the Python Software Foundation, and is supported by many significant companies, including Microso ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]