Un Langage de Programmation

Overview

ULP

Un Langage de Programmation (ULP) est un langage jouet inspiré de APL.

Objectifs

  • Un langage à tableau style APL
  • Fortement point free
  • Statiquement et fortement typé
  • Compilation native
  • Syntaxe simple (sans unicode !)

Syntaxe

Combinateurs de base

F ` flip (λf.λx.λy.f y x)
D ` generalized substitution (λf.λg.λh.λx. f (g x) (h x))
K ` constant function λx.λy.x
I ` identity function λx.x
S ` substitution (λf.λg.λh.λx. f (g x) (h x)) = {D w I}

Lambdas

{f w} ` anonymous function of parameter w
{g w1 w2} ` anonymous function of parameters w1 w2

Opérateurs de base

+ ` addition
- ` soustraction
* ` multiplication
: ` division
% ` modulo

Tableaux

# ` longueurs
$ ` map
/ ` reduce
\ ` filter
M ` max
m ` min

Booléens

= ` égalité
! ` négation
& ` et
| ` ou
< ` Plus petit
> ` Plus grand
LE <- D | < =
LE 0 [1 2 3] = [True True True]
+/#$[[1 2 3 5] [1 2 3 4]] ` calculer le nombre d'éléments dans une matrice
You might also like...
Owner
CodeAnon
A student organization creating software
CodeAnon