Personal tools

Ro/Haskell/DSL

From HaskellWiki

Jump to: navigation, search


'DSL - Abreviere de la Domain Specific Language - limbaj specializat dedicat programarii unor anumite feluri de aplicatii:

- ingineresti

- programe pt embeded devices si microcontrolere (ca sa nu le mai programam in assembler)

- jocuri. Da ! Unele jocuri sunt scrise intr-un limbaj specializat, de uz intern. Uneori are chiar si o consola disponibila daca apesi o anume tasta a jocului.

- programarea unor imagini grafice sau descrierea lor prin niste fisiere scurte (fisierele contin programul in acel DSL care executandu-se da nastere imaginii)

- servere. Da ! Serverele sunt mici interpretoare care stiu a primi anumite cereri ( le trateaz ca pe niste programe si le executa)

- placi video, altfel programabile prin CUDA. Ele pot beneficia acum de noi limbaje, mai puternice si mai prietenoase.

Contents

1 .Aplicatii

Actualmente DSL-urile se pot programa in Haskell in circa o zi de munca ! Vedeti ca exista o prezentare PDF care arata cum se poate face aceasta "from scratch". Voi adauga link-ul ...

Pe larg procedeul de constructie a unui DSL a fost prezentat in Practica interpretarii monadice.

2 . Obsidian

Un DSL pentru programare placilor NVIDIA cu programe C - CUDA. Haskell serveste ca limbaj translator, si din specificatiile Obsidiamn rezulta programe pentru placa video NVIDIA. Utilizatorul insa percepe Obsidian ca un limbaj special pentru progarmarea placilor video.

http://www.cse.chalmers.se/~joels/writing/obsidian_ifl2008.pdf

Mai nou, a aparut Barrracuda:

3 . Barracuda

Tot un sistem/limbaj realizat in Haskell pentru programarea placilor video, mai nou : 2010. Subiect al unei teze de masterat. Capitolele finale sunt despre Haskell.

http://www.spaceplasma.unh.edu/~jraeder/Home/uploads/Main/thesis-2010-BLarsen.pdf

4 .Haskore

Haskore

5 .Fran

Fran

6 . Rodin

Un limbaj didactic folosit la Bacau. Rodin. Folosit la predarea informaticii.


Vedeti si Laboratorul de limbaje


pagina in dezvoltare, sunt zeci de DSL-uri scrise in Haskell