Difference between revisions of "Z4"
Tomjaguarpaw (talk | contribs) (Deleting page that hasn't been edited for 10 years) |
m (Reverted edits by Tomjaguarpaw (talk) to last revision by Ha$kell) |
||
Line 1: | Line 1: | ||
+ | [[Category:Ro]] |
||
+ | [[Image:Haskelllogo-small-flag-RO-8.jpg|center|Haskell - Un limbaj functional pur]] |
||
+ | |||
+ | <center> |
||
+ | Haskell este limbajul functional succesor al LISP-ului, Scheme-ului si ML-ului !!!<br> |
||
+ | Cel mai productiv limbaj functional ! Limbajul folosit de autorii limbajului Perl 6 si ales de echipa Linspire, utilizat la Inteligenta artificiala, prelucrari multimedia, Retele Petri, programare functionala in [[Robotica]], sinteza de circuite electronice, motoare de baze de date , cercetare , productie de software "type safe",productie de limbaje (DSL-uri), proiectare automata de scheme electronice, analize statistice si financiare (bancare)... <br> V-am starnit curiozitatea ? Cititi: [[Intrebarile incepatorului]]. Am adaugat raspunsuri noi (16 dec. 2007- 10 feb. 2008). |
||
+ | <br> |
||
+ | ---- |
||
+ | |||
+ | '''Stirile lunii:'''[[Stiri Ro/Haskell]] |
||
+ | </center> |
||
+ | Cuprinsul paginii : |
||
+ | <br> |
||
+ | <center> |
||
+ | {| border=0 cellspacing=5 cellpadding=15 |
||
+ | | valign=top bgcolor=#F0F0F0 style="text-align:left" | |
||
+ | |||
+ | |||
+ | ==. Prezentarea proiectului == |
||
+ | |||
+ | Exista deja un veritabil interes pentru Haskell din randul matematicienilor. De altfel daca intrebati pe un forum de discutii care ar fi cel mai bun limbaj pentru matematicieni - uni au intrebat - vi se va raspunde: Haskell. |
||
+ | |||
+ | Legaturile dintre Haskell si Matematica pot fi exploatate pentru a obtine specialisti in matematica aplicata capabili sa realizeze produse informatice bazate pe matematica. |
||
+ | |||
+ | Programul "Ro/Boosting your Math. Faculty with Haskell" isi propune sa mareasca potentialul unei Facultati de matemnatica prin introducerea Haskell-ukui ca limbaj de laborator si seminar. (da - ati citit bine, limbaj de laborator la matematica). Deja o serie de grupe de matematica - cel putin acolo unde lucreaza subsemnatul - fac or in laboratoarele de informatica. |
||
+ | |||
+ | == Cum va afiliati programului ? == |
||
+ | Nu e nevoie de concurs de proiecte dosar sau altceva. Tot ce aveti de facut este sa folositi Haskell-ul (Fie interpretorul Hugs sau WinHugs fie compilatorul GHC si versiunea sa interactiva GHCi.) Popularizati apoi rezultatele pe web, le vom centraliza aici acordand stelute * pentru fiecare din urmatoarele activitati: |
||
+ | |||
+ | == Un mic exemplu [[Z4]] == |
||
+ | Salvat-l ca fisier cu extensia .hs |
||
+ | |||
+ | <haskell> |
||
+ | |||
+ | module Z4 where |
||
+ | |||
+ | class Resturi r where |
||
+ | x :: r -> r |
||
+ | -> r |
||
+ | plus :: r -> r |
||
+ | -> r |
||
+ | minus:: r -> r |
||
+ | -> r |
||
+ | supra::r -> r |
||
+ | -> r |
||
+ | |||
+ | |||
+ | -- Noul tip de date va avea elemente de forma: (Clasa 1), (Clasa 2) etc. |
||
+ | newtype Z4 = Clasa Int |
||
+ | deriving Show -- ca sa poata fi afisate pe ecran |
||
+ | |||
+ | instance Resturi Z4 where |
||
+ | (Clasa a) `x` (Clasa b) = Clasa ((a*b) `mod` 4 ) |
||
+ | (Clasa a) `plus` (Clasa b) = Clasa ((a+b) `mod` 4 ) |
||
+ | (Clasa a) `minus` (Clasa b) = Clasa ((a-b) `mod` 4 ) |
||
+ | (Clasa a) `supra` (Clasa b) = Clasa ((a `div` b) `mod` 4 ) |
||
+ | -- Atentie, apostroful invers este pe tasta de linga cifra 1. In Haskell daca o functie f o transformam in operator infixat se scrie: operand1 `f` operand2 |
||
+ | </haskell> |
||
+ | |||
+ | Nota de utilizare: Daca nu merge exemplul sub GHC , GHC-ul va da un mesaj prin care poate cere sa activati o optiune de compilare, si va spune si care. Adaugati la inceput linia : |
||
+ | |||
+ | {- OPTIONS -XFlexibleInstances -} |
||
+ | |||
+ | |||
+ | ==. Cum rulati ? == |
||
+ | Scrieti textul de mai sus, si incarcati-l in Hugs cu (File -> Open sau :load fisier.hs) . Sau dati click pe fisier daca ati instalat GHC-ul. |
||
+ | |||
+ | Acum puteti face calcule in Z4,fara probleme, de exemplu de la consola (apoi din alte programe). Alte programe vor putea importa modulul cu |
||
+ | import Z4. |
||
+ | |||
+ | > (Clasa 3) `plus` (Clasa 2) - apasati Enter si obtineti rezultatul. |
||
+ | |||
+ | O mica aplicatie de la logica mai jos. [[Logica peste Z4]]. |
||
+ | ---- |
||
+ | Pagina indexata la indexul [[Category:Ro]] [http://www.haskell.org/haskellwiki/Category:Ro Categories:Ro] |
||
+ | ---- |
||
+ | [http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la inceputul paginii principale Ro/Haskell. ]<br> <br> |
||
+ | [http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la Intrebarile incepatorului Ro/Haskell. ] |
Latest revision as of 15:17, 6 February 2021
Haskell este limbajul functional succesor al LISP-ului, Scheme-ului si ML-ului !!!
Cel mai productiv limbaj functional ! Limbajul folosit de autorii limbajului Perl 6 si ales de echipa Linspire, utilizat la Inteligenta artificiala, prelucrari multimedia, Retele Petri, programare functionala in Robotica, sinteza de circuite electronice, motoare de baze de date , cercetare , productie de software "type safe",productie de limbaje (DSL-uri), proiectare automata de scheme electronice, analize statistice si financiare (bancare)...
V-am starnit curiozitatea ? Cititi: Intrebarile incepatorului. Am adaugat raspunsuri noi (16 dec. 2007- 10 feb. 2008).
Stirile lunii:Stiri Ro/Haskell
Cuprinsul paginii :
. Prezentarea proiectuluiExista deja un veritabil interes pentru Haskell din randul matematicienilor. De altfel daca intrebati pe un forum de discutii care ar fi cel mai bun limbaj pentru matematicieni - uni au intrebat - vi se va raspunde: Haskell. Legaturile dintre Haskell si Matematica pot fi exploatate pentru a obtine specialisti in matematica aplicata capabili sa realizeze produse informatice bazate pe matematica. Programul "Ro/Boosting your Math. Faculty with Haskell" isi propune sa mareasca potentialul unei Facultati de matemnatica prin introducerea Haskell-ukui ca limbaj de laborator si seminar. (da - ati citit bine, limbaj de laborator la matematica). Deja o serie de grupe de matematica - cel putin acolo unde lucreaza subsemnatul - fac or in laboratoarele de informatica. Cum va afiliati programului ?Nu e nevoie de concurs de proiecte dosar sau altceva. Tot ce aveti de facut este sa folositi Haskell-ul (Fie interpretorul Hugs sau WinHugs fie compilatorul GHC si versiunea sa interactiva GHCi.) Popularizati apoi rezultatele pe web, le vom centraliza aici acordand stelute * pentru fiecare din urmatoarele activitati: Un mic exemplu Z4Salvat-l ca fisier cu extensia .hs module Z4 where
class Resturi r where
x :: r -> r
-> r
plus :: r -> r
-> r
minus:: r -> r
-> r
supra::r -> r
-> r
-- Noul tip de date va avea elemente de forma: (Clasa 1), (Clasa 2) etc.
newtype Z4 = Clasa Int
deriving Show -- ca sa poata fi afisate pe ecran
instance Resturi Z4 where
(Clasa a) `x` (Clasa b) = Clasa ((a*b) `mod` 4 )
(Clasa a) `plus` (Clasa b) = Clasa ((a+b) `mod` 4 )
(Clasa a) `minus` (Clasa b) = Clasa ((a-b) `mod` 4 )
(Clasa a) `supra` (Clasa b) = Clasa ((a `div` b) `mod` 4 )
-- Atentie, apostroful invers este pe tasta de linga cifra 1. In Haskell daca o functie f o transformam in operator infixat se scrie: operand1 `f` operand2
Nota de utilizare: Daca nu merge exemplul sub GHC , GHC-ul va da un mesaj prin care poate cere sa activati o optiune de compilare, si va spune si care. Adaugati la inceput linia : {- OPTIONS -XFlexibleInstances -}
. Cum rulati ?Scrieti textul de mai sus, si incarcati-l in Hugs cu (File -> Open sau :load fisier.hs) . Sau dati click pe fisier daca ati instalat GHC-ul. Acum puteti face calcule in Z4,fara probleme, de exemplu de la consola (apoi din alte programe). Alte programe vor putea importa modulul cu import Z4. > (Clasa 3) `plus` (Clasa 2) - apasati Enter si obtineti rezultatul. O mica aplicatie de la logica mai jos. Logica peste Z4. Pagina indexata la indexul Categories:Ro <= Inapoi la inceputul paginii principale Ro/Haskell. |