Red Nose Hacker

Do me a favor : hack for good :-)

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 !

En savoir plus...

Guix logo

Summary

In addition to your default profile ~/.guix-profile, you can create as many profiles as you want (if you find it useful). For example, I have a profile dedicated to programming with Guile, in which I have installed the latest version of the language, extensions to Emacs, and some libraries I use frequently.

En savoir plus...

Logo Guix

Sommaire :

En plus de ton profil par défaut (~/.guix-profile), tu peux créer autant de profils que tu le souhaites (si tu trouve ça utile). Par exemple, j'ai un profil dédié à la programmation avec le langage Guile, dans lequel j'ai installé la dernière version du langage, des extensions d'Emacs, et quelques bibliothèques que j'utilise fréquemment.

En savoir plus...

Guix logo

Definitions

Package store

Guix is a software package manager. It therefore manages a package store, located in /gnu/store (by default). This is where all software packages that are added to the system via Guix are stored.

The package store is common to all users' profiles.

En savoir plus...

Logo Guix

Définitions

Le dépôt de paquêts

Guix est un gestionnaire de paquets logiciels. Il gère donc un dépôt de paquets, situé dans /gnu/store (par défaut). C'est l'endroit où sont stockés tous les paquets de logiciels que l'on ajoute au système via Guix.

Le dépôt de paquets est commun à tous les profiles de tous les utilisateurs.

En savoir plus...

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 !

En savoir plus...

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 !

En savoir plus...

Logo Guix

Cette série de billets de blog est une invitation à voir comment quelqu'un peut apprendre comment empaqueter des logiciels pour Guix sans connaissance préalable à propos de Guix ou même de l'empaquetage de logiciel. Je te montre de quelles ressources j'ai besoin et comment je les utilise. Ma méthode est axée sur la pratique. L'exécution des commandes rythme mes itérations, leurs retours guident le code que je produis et l'utilisation de ressources externes (documentation, code source, communauté).

En savoir plus...

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 !

En savoir plus...

#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'