Les flots/flux en C ...

Les flots/flux en C ... - C - Programmation

Marsh Posté le 05-01-2005 à 18:41:40    

Voila je me demandais si il existait un type stream en C, pas le stream pour l'I/O mais les flots ou flux permettant de crée des listes infinies et choses comme ca ? (C'est genial pour faire du calcul formel ce truc) J'ai pas trouvé grand chose sur google.


Message édité par Chronoklazm le 05-01-2005 à 18:42:33

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 05-01-2005 à 18:41:40   

Reply

Marsh Posté le 05-01-2005 à 19:05:59    

Je comprend pas le rapport entre les listes et les flux. Pour manipuler des listes, on utilise... une liste. non ?
Au passage méfies-toi de la notion d'infini en informatique, surtout avec la mémoire.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 05-01-2005 à 19:09:43    

tu parle pas du concept de 'data sink/source' ?

Reply

Marsh Posté le 05-01-2005 à 19:27:26    

Non je parle essentiellement des choses qui se basent sur delay/force grace a la notion de glacon ["thunk"], il s'agit d'une technique d'evaluation "paresseuse" ["lazy evaluation"] qui permet de commencer a traiter, par exemple une liste avant de l'avoir completement crée. Je dis bien des listes infinies ... car evidement on la crée pas entierement :)


Message édité par Chronoklazm le 05-01-2005 à 19:28:32

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 06-01-2005 à 09:31:42    


Une Pile (LIFO) ?
Un Pipe (FIFO) ?
Un liste chainée ?
 

Reply

Marsh Posté le 06-01-2005 à 09:43:12    

Peux tu donner un exemple de lazy evaluation en C ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 06-01-2005 à 15:50:32    

http://burks.brighton.ac.uk/burks/foldoc/34/65.htm
 

Code :
  1. Lazy Evaluation
  2. The term for a strategy? to evaluate objects only when one is sure they are useful or needed, and not before.
  3. Lazy evaluation allows avoiding lots of (possibly infinite) computations, while greatly simplifying the way to code high-level programs.
  4. One disadvantage is that evaluation order is not inherently specifiable; an extra notation is usually required. Another disadvantage is that computational suspensions must be kept around conservatively until explicitly worked out that they are not needed.


 
EDIT : HelloWorld => Dans mon premier post je me demandait si justement cété possible en C :)


Message édité par Chronoklazm le 06-01-2005 à 15:55:35

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 06-01-2005 à 15:57:52    

A ma connaissance en C y'en a pas, et dans les langages compilés en général, à part les fonctions virtuelles je vois pas. Tu parles de thunk aussi, pour moi le thunking en C c'est générer des fonctions au runtime (allouer un segment de code exe, écrire les opcodes, ...). Ca me parrait compliqué ce que tu recherches.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 07-01-2005 à 09:19:48    

J'ai rien compris au probleme mais voila:
 
http://www.koders.com/?s=Lazy&_%3A [...] C&_%3Ali=*

Reply

Marsh Posté le 07-01-2005 à 09:46:15    

Chronoklazm a écrit :

Voila je me demandais si il existait un type stream en C, pas le stream pour l'I/O mais les flots ou flux permettant de crée des listes infinies et choses comme ca ? (C'est genial pour faire du calcul formel ce truc) J'ai pas trouvé grand chose sur google.


Je me suis mis à Python récemment, c'est pas mal pour faire de la programmation classique tout en manipulant facilement des listes et en ayant accès au lambda-calcul.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed