Red Nose Hacker

guile

Guile Logo

I got into the habit of doing about 30 minutes of Code Kata every morning. I practice these Kata following the test-driven development (TDD) approach.

Guile distribution includes the SRFI-64 module: a unit testing framework. In this article, I explain how to use it and how to configure it in order to practice code kata.

Lire la suite...

Guile Logo

The Guile Hacker Notebook follows the style of Test Driven Learning to illustrate features of the Guile programming language. Asides on tools and techniques are provided to help the hacker become more productive.

In this chapter, the hacker manipulates booleans. He will take the opportunity to document his source code with what are called docstrings.

The chapter is accessible at the following address: https://jeko.frama.io/fr/booleans.html .

Let's take advantage of this article to play a bit with all this!

Lire la suite...

Guile Logo

Le Carnet du Hacker Guile suit le style du Test Driven Learning pour illustrer des fonctionnalités du langage de programmation Guile. Des apartés sur les outils et les techniques sont apportées pour aider le hacker a devenir plus productif.

Dans ce chapitre, le hacker manipule les booléens. Il en profitera pour documenter son code source avec ce que l'on appelle des docstrings.

Le chapitre est accessible à l'adresse suivante : https://jeko.frama.io/fr/booleans.html.

Profitons de cette article pour jouer un peu avec tout ça !

Lire la suite...

Dans cette session...

Je me remet en jambe avant la rentrée avec un nouveau kata (l'intitulé est fourni en commentaire dans le code plus bas) ! Je cherche un moyen de rendre mes tests explicites ! Pour ce faire, je tente de combiner les symboles et les wildcards.

Lire la suite...

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'