Halo nucleus: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Graeme Bartlett
m link Borromean nucleus
en>DePiep
 
Line 1: Line 1:
{{Infobox programming language
Luke Bryan can be a celebrity within the producing as  [http://www.senatorwonderling.com where is the luke bryan concert] well as occupation expansion initially next to his 3rd studio record,  And , is the confirmation. He burst open on the scene in 2000 along with his best combination of downward-house convenience, video superstar very good looks and lines, is placed t in a key way. The latest record Top   [http://minioasis.com luke bryan tickets dallas] around the nation graph and #2 about the pop graphs, generating it the 2nd maximum first appearance during those times of 2011 for a country designer. <br><br><br><br>The child of any ,  knows persistence and determination are important elements in relation to a prosperous  job- . His first album,  Stay Me, generated the most notable  strikes “All My Friends “Country and Say” Man,” whilst his  energy, Doin’  Factor, discovered the artist-a few directly No. 8 singles: Else Phoning Is a Great Point.<br><br>In the tumble of 2010, Tour: Luke  & which in fact had a remarkable list of , such  [http://lukebryantickets.pyhgy.com luke bryan tour tickets 2014] as Urban. “It’s much like you’re receiving a  endorsement to look to the next level, states these designers that have been an element of   [http://lukebryantickets.iczmpbangladesh.org meet and greet justin bieber] the Tourabove in a bigger degree of musicians.” It twisted as the most successful  excursions in the 10-season history.<br><br>my blog - [http://lukebryantickets.lazintechnologies.com discount concert tickets]
| name = Epigram
| logo =
| paradigm = [[Functional programming|Functional]]
| year = 2004
| designer = [[Conor McBride]] and<br/>James McKinna
| developer = ''Unmaintained''
| latest_release_version = 1
| latest release date ={{release date|mf=yes|2006|10|11}}
| typing = [[strong typing|strong]], [[static typing|static]], [[dependent typing|dependent]]
| implementations =
| dialects =
| influenced_by = [[ALF (theorem prover)|ALF]]
| influenced =
| operating_system = [[Cross-platform]]: [[Linux]], [[Microsoft Windows|Windows]], [[Mac OS X]]
| license = MIT<ref>http://code.google.com/p/epigram/</ref>
| file_ext =
}}
 
'''Epigram''' is the name of a [[functional programming language]] with [[dependent type]]s. ''Epigram'' also refers to the [[Integrated development environment|IDE]] usually packaged with the language. Epigram's [[type system]] is strong enough to express [[program specification]]s. The goal is to support a smooth transition from ordinary programming to integrated programs and proofs whose correctness can be checked and certified by the [[compiler]]. Epigram exploits the [[propositions as types principle]], and is based on [[intuitionistic type theory]].
 
The Epigram prototype was implemented by [[Conor McBride]] based on joint work with James McKinna. Its development is continued by the Epigram group in [[Nottingham]], [[Durham]], [[St Andrews]] and [[Royal Holloway]] in the [[United Kingdom|UK]]. The current experimental implementation of the Epigram system is freely available together with a user manual, a tutorial and some background material. The system has been used under [[Linux]], [[Microsoft Windows|Windows]] and [[Mac OS X]].
 
It is currently unmaintained, and version 2, which was intended to implement [[Observational Type Theory]], was never released.
 
== Syntax ==
Epigram uses a two-dimensional syntax, with a LaTeX version and an ASCII version. Here are some examples from ''The Epigram Tutorial'':
 
=== Examples ===
 
==== The natural numbers ====
The following declaration defines the [[natural numbers]]:
<pre>    (        !      (          !  ( n : Nat  !
data !---------! where !----------! ; !-----------!
    ! Nat : * )      !zero : Nat)   !suc n : Nat)</pre>
The declaration says that <code>Nat</code> is a type with [[Type system#Types of types|kind]] <code>*</code> (i.e., it is a simple type) and two constructors: <code>zero</code> and <code>suc</code>. The constructor <code>suc</code> takes a single <code>Nat</code> argument and returns a <code>Nat</code>. This is equivalent to the [[Haskell (programming language)|Haskell]] declaration "<code>data Nat = Zero | Suc Nat</code>".
 
In LaTeX, the code is displayed as:
 
<math>\underline{\mathrm{data}} \; \left(\frac{}{\mathsf{Nat} : \star}\right) \; \underline{\mathrm{where}} \;
        \left(\frac{}{\mathsf{zero} : \mathsf{Nat}}\right) \; ; \;
        \left(\frac{n : \mathsf{Nat}}{\mathsf{suc}\ n : \mathsf{Nat}}\right)</math>
 
==== Recursion on naturals ====
<math>\mathsf{NatInd} : \begin{matrix}
        \forall P : \mathsf{Nat} \rightarrow \star \Rightarrow P\ \mathsf{zero} \rightarrow \\
        (\forall n : \mathsf{Nat} \Rightarrow P\ n \rightarrow P\ (\mathsf{suc}\ n)) \rightarrow\\
        \forall n : \mathsf{Nat} \Rightarrow P\ n
      \end{matrix}</math>
 
<math>\mathsf{NatInd}\ P\ mz\ ms\ \mathsf{zero} \equiv mz</math>
 
<math>\mathsf{NatInd}\ P\ mz\ ms\ (\mathsf{suc}\ n) \equiv ms\ n\ (NatInd\ P\ mz\ ms\ n)</math>
 
...And in ASCII:
<pre>NatInd : all P : Nat -> * => P zero ->
        (all n : Nat => P n -> P (suc n)) ->
        all n : Nat => P n
NatInd P mz ms zero => mz
NatInd P mz ms (suc n) => ms n (NatInd P mz ms n)</pre>
 
==== Addition ====
{|
| <math>\mathsf{plus}\ x\ y \Leftarrow \underline{\mathrm{rec}}\ x\ \{</math>
|-
| &nbsp;&nbsp;&nbsp;&nbsp;<math>\mathsf{plus}\ x\ y \Leftarrow \underline{\mathrm{case}}\ x\ \{</math>
|-
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\mathsf{plus\ zero}\ y \Rightarrow y</math>
|-
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<math>\quad\quad \mathsf{plus}\ (\mathsf{suc}\ x)\ y \Rightarrow suc\ (\mathsf{plus}\ x\ y)\ \}\ \}</math>
|}
 
...And in ASCII:
<pre>plus x y <= rec x {
  plus x y <= case x {
    plus zero y => y
    plus (suc x) y => suc (plus x y)
  }
}</pre>
 
== Dependent types ==
Epigram is essentially a [[typed lambda calculus]] with [[generalized algebraic data type]] extensions, except for two extensions. First, types are first-class entities, of type <math>\star</math>; types are arbitrary expressions of type <math>\star</math>, and type equivalence is defined in terms of the types' normal forms. Second, it has a dependent function type; instead of <math>P \rightarrow Q</math>, <math>\forall x : P \Rightarrow Q</math>, where <math>x</math> is bound in <math>Q</math> to the value that the function's argument (of type <math>P</math>) eventually takes.
 
Full dependent types, as implemented in Epigram, are a powerful abstraction. (Unlike in [[Dependent ML]], the value(s) depended upon may be of any valid type.) A sample of the new formal specification capabilities dependent types bring may be found in ''The Epigram Tutorial''.
 
== See also ==
*[[ALF (proof assistant)|Alf]], a proof assistant among the predecessors of Epigram.
 
==Further reading==
*Conor McBride and James McKinna (2004), ''The view from the left'', Journal of Functional Programming
*Conor McBride (2004), ''The Epigram Prototype, a nod and two winks''
*Conor McBride (2004), ''The Epigram Tutorial''
*Thorsten Altenkirch, Conor McBride and James McKinna (2005), ''Why Dependent Types Matter''
 
== External links ==
*[http://www.macs.hw.ac.uk/~fairouz/projects/EffProClaLog.html EPSRC] on ALF, lego and related
 
== References ==
{{reflist}}
 
[[Category:Functional languages]]
[[Category:Dependently typed languages]]
[[Category:Proof assistants]]
[[Category:Discontinued programming languages]]

Latest revision as of 10:50, 12 November 2014

Luke Bryan can be a celebrity within the producing as where is the luke bryan concert well as occupation expansion initially next to his 3rd studio record, And , is the confirmation. He burst open on the scene in 2000 along with his best combination of downward-house convenience, video superstar very good looks and lines, is placed t in a key way. The latest record Top luke bryan tickets dallas around the nation graph and #2 about the pop graphs, generating it the 2nd maximum first appearance during those times of 2011 for a country designer.



The child of any , knows persistence and determination are important elements in relation to a prosperous job- . His first album, Stay Me, generated the most notable strikes “All My Friends “Country and Say” Man,” whilst his energy, Doin’ Factor, discovered the artist-a few directly No. 8 singles: Else Phoning Is a Great Point.”

In the tumble of 2010, Tour: Luke & which in fact had a remarkable list of , such luke bryan tour tickets 2014 as Urban. “It’s much like you’re receiving a endorsement to look to the next level, states these designers that have been an element of meet and greet justin bieber the Tourabove in a bigger degree of musicians.” It twisted as the most successful excursions in the 10-season history.

my blog - discount concert tickets