Red Nose Hacker

guile

Guile Logo

I'm going to introduce you to Hall, a tool to assist you in the development and distribution of Guile programs. I won't cover all of Hall's features. Just something to give you a try ;–)

Lire la suite...

Guile Logo

Dans cet article, je vais te présenter Hall, un outil dont le but est de t'assister dans le développement et la distribution de programmes Guile. Je ne couvrirai pas toutes les fonctionnalités de Hall. Juste de quoi te donner envie d'essayer. ;–) Tu verras comment créer un projet Guile à partir de zéro, comment construire le projet, comment le tester, enfin, comment le distribuer !

Lire la suite...

Le dernier test ajouté (et tous les autres) passent, place au réusinage ! Je me concentre dans cette session sur les tests.

Tu peux retrouver le code source du projet et autres croustillants détails sur son dépôt !

Bon screencast !

Lire la suite...

Objectif de cette session : Continuer d'utiliser un peu plus d'outils que Guile (Scheme) et Emacs mettent à disposition (Paredit, Geiser, AC-Geiser, SRFIs) pour améliorer mes compétences en développement logiciel.

Bon screencast !

Lire la suite...

Objectif de cette session : Continuer d'utiliser un peu plus d'outils que Guile (Scheme) et Emacs mettent à disposition (Paredit, Geiser, AC-Geiser, SRFIs) pour accélérer le développement de programmes.

Bon screencast !

Lire la suite...

#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast

Guile Logo

Objectif de cette session : Utiliser un peu plus d'outils que Emacs met à disposition (Paredit, Geiser, AC-Geiser) pour accélérer le développement.

Bon screencast !

Je place le code à la suite pour ceux que ça intéresse :

(define-module (harness-guile)
  #:use-module (srfi srfi-64))

(module-define! (resolve-module '(srfi srfi-64))
		'test-log-to-file #t)

(define EMPTY_STRING "")
(define DUMMY_1CHAR_STRING "a")

(define (rotations str)
  `(,str))

(test-begin "test-suite")

(define test-cases-descripti)

(define (test-equal-batch triples)
  (map (lambda (triple)
	 (let ([test-name (car triples)]
	       [test-expected (car (cdr triples))]
	       [test-effective (car (cddr triples))])))
       triples))

(test-equal "empty-string"
  `(,EMPTY_STRING)
  (rotations EMPTY_STRING))

(test-equal "one-char-string"
  `(,DUMMY_1CHAR_STRING)
  (rotations DUMMY_1CHAR_STRING))

(test-end "test-suite")

Merci beaucoup d'avoir regardé ce screencast !

N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via :E-mail: jeremy AT korwin-zmijowski DOT frMastodon: @jeko@framapiaf.orgPeertube: @jeko@video.tedomum.netTwitter: @JeremyKorwin

Abonnes-toi pour ne pas manquer les prochains articles et épisodes:blog via Mastodon @jeko@write.as et RSSscreencast via Peertube @jeko@video.tedomum.net et RSS

Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'

#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast

Guile Logo

Objectif de cette session : Continuer de s'exercer avec String rotations.
Illustrer un ré-usinage des tests et utiliser un peu plus les outils à disposition dans Emacs !

Bon screencast !

Je place le code à la suite pour ceux que ça intéresse :

(define-module (kata-3)
  #:use-module (srfi srfi-64))

(module-define! (resolve-module '(srfi srfi-64))
		'test-log-to-file #t)

(define EMPTY_STRING "")
(define DUMMY_1CHAR_STRING "a")

(define (rotations str)
  `(,str))

(test-begin "test-suite")

(define test-case-descriptions
  `(["empty-string" (,EMPTY_STRING) ,EMPTY_STRING]
    ["one-char-string" (,DUMMY_1CHAR_STRING) ,DUMMY_1CHAR_STRING]
    ["two-char-string" ("ab" "ba") "ab"]))

(define (test-equal-batch triples)
  (map (lambda (triple)
	 (let ([test-name (car triple)]
	       [expected-value (car (cdr triple))]
	       [effective-value (car (cddr triple))])
	   (test-equal test-name
	     expected-value
	     (rotations effective-value))))
       triples))

(test-equal-batch test-case-descriptions)

(test-end "test-suite")

Merci beaucoup d'avoir regardé ce screencast !

N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via :E-mail: jeremy AT korwin-zmijowski DOT frMastodon: @jeko@framapiaf.orgPeertube: @jeko@video.tedomum.netTwitter: @JeremyKorwin

Abonnes-toi pour ne pas manquer les prochains articles et épisodes:blog via Mastodon @jeko@write.as et RSSscreencast via Peertube @jeko@video.tedomum.net et RSS

Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'

#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast

Guile Logo

Objectif de cette session : répéter l'exercice en veillant à ne pas faire l'impasse sur le ré-usinage (refactoring) des tests.

Bon screencast !

Merci beaucoup d'avoir regardé ce screencast !

N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via :E-mail: jeremy AT korwin-zmijowski DOT frMastodon: @jeko@framapiaf.orgPeertube: @jeko@video.tedomum.netTwitter: @JeremyKorwin

Abonnes-toi pour ne pas manquer les prochains articles et épisodes:blog via Mastodon @jeko@write.as et RSSscreencast via Peertube @jeko@video.tedomum.net et RSS

Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'

#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast

Guile Logo

Pour ce kata, j'ai choisi un exercice du site Programming Praxis : String Rotations.

Je choisi généralement de faire des sessions de 25 minutes. Pour ce kata, je n'avais pas d'objectif particulier autre que voir de quoi je suis capable avec les outils que j'utilise.

Bon screencast !

Merci beaucoup d'avoir regardé ce screencast ! N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via :E-mail: jeremy AT korwin-zmijowski DOT frMastodon: @jeko@framapiaf.orgPeertube: @jeko@video.tedomum.netTwitter: @JeremyKorwin

Abonnes-toi pour ne pas manquer les prochains articles et épisodes:blog via Mastodon @jeko@write.as et RSSscreencast via Peertube jeko@video.tedomum.net et RSS

Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'