Création d'un environnement haskell avec Docker + VS Code sur Windows10 Home

introduction

Jusqu'à présent, j'ai eu plus d'occasions d'utiliser des langages de type interprète et à typage dynamique.

Cependant, en le touchant, j'ai senti que *** manquait de «tension» ***. *** J'ai entendu l'expression "peut être libéré avec 70% de perfection", donc je pense que ce n'est pas si rigoureux ***.

Bien sûr, c'est une bonne chose, et dans le monde réel, je pense que c'est plus fort car cela permet des versions plus rapides.

Cependant, j'ai senti que j'aimerais essayer les langages de type compilateur et de type statique et saisir la différence entre les deux. (Bien qu'il y ait aussi un problème de préférence que j'estime qu'il est plus facile à gérer s'il est solide)

De plus, en ce qui concerne l'orientation objet, je l'ai ressenti en touchant JavaScript, Python et PHP (je n'ai pas dit que je l'avais compris), donc je suis curieux de toucher quelque chose de fonctionnel.

J'ai donc décidé d'étudier Haskell.

*** Le code sera plus propre et je m'attends à de beaux effets secondaires. *** ***

Cependant, lorsque j'ai essayé de commencer, il n'y avait que quelques articles sur la création d'un environnement sur Windows 10 Home (bien qu'il y ait eu pas mal de pros).

Donc, je vais résumer *** sur la création d'un environnement haskell sur Windows 10 Famille ***.

environnement

Lors de l'utilisation de Docker

Tout d'abord, je vais expliquer comment extraire l'image haskell avec Docker et l'exécuter à partir de l'invite de commande.

Commencez par les étapes pour utiliser Docker sur Windows 10 Famille. Cela ira au point où vous pouvez exécuter haskell à la fois.

① Activez "Sous-système Linux pour Windows"

Panneau de configuration → Programmes → Activer ou désactiver les fonctions Windows

サブシステム.png

Activez «Linux Subsystem for Windows» dans. (Puis redémarrez le PC)

② Installez Docker Desktop sur Windows Home

https://hub.docker.com/editions/community/docker-ce-desktop-windows/

Cliquez sur "Get stable".

③ Démarrez Docker

Lorsque vous démarrez Docker, vous serez grondé pour "mettre à jour le noyau Linux", donc

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Suivez l'étape 4 de la mise à jour. Ce sera bien et Docker fonctionnera.

step4.png

(* Il est possible que je sois le seul à déconner lors de la création d'un autre environnement, mais la page ci-dessus est organisée de manière facile à comprendre, je pense donc que je devrais l'exécuter dans l'ordre.)

④ Tirez l'image Haskell

Ouvrez une invite de commande et exécutez ce qui suit dans le répertoire approprié:

$ docker pull haskell

Vous obtiendrez une image haskell.

ensuite,

$ docker run -it haskell

Lorsque vous démarrez le conteneur avec, il entrera dans le conteneur sans autorisation. (Bref, haskell sera bientôt prêt à être utilisé)

haskell.png

Si vous obtenez Prelude> comme ça, vous réussissez.

Vous pouvez le faire tout de suite.

haskell例.png

Méthode utilisant Docker + VS Code

En fait, VS Code vous permet de jouer avec haskell en utilisant un éditeur.

En d'autres termes, vous pouvez modifier le fichier hs dans le conteneur ou lancer le terminal à partir de VS Code sans utiliser l'invite de commande.

① Installez VS Code

VScodeインスト―ル.png

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

Installez VS Code à partir du lien ci-dessus.

② Installer des conteneurs distants

vscode拡張.png

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers

Installez l'extension VS Code "Remote-Containers" à partir du lien ci-dessus.

③ Lancez le conteneur

Créez un répertoire approprié et ouvrez-le avec VS Code.

Par conséquent, créez un fichier appelé ".devcontainer.json" et écrivez ce qui suit.

json:.devcontainer.json


{
    "name" : "haskell",
    "images" : "haskell",
    "extensions" : "haskell.haskell"
}

Ce fichier gère l'image Docker à extraire et ses paramètres. En bref, c'est un substitut à Dockerfile.

VSCode semble gérer le système de paramétrage avec un fichier json.

Ensuite, dans l'ordre des images, appuyez sur "Bouton vert en bas à gauche" -> "Remote-Containers: Open Folder Container ...".

container実行.png

Avec cela, il fera tout, de l'extraction de l'image Docker au lancement du conteneur.

Dès la deuxième fois, il vous sera demandé si vous souhaitez lancer le conteneur en bas à droite. Vous pouvez le redémarrer en appuyant sur "Rouvrir dans le conteneur".

devcontainer.png

Si vous faites ce qui précède, il entrera dans le conteneur sans autorisation et se lancera jusqu'au terminal sans autorisation. VS Code est pratique.

(C'était assez déroutant au début, mais l'invite de commande est une CLI Windows et le terminal est une CLI Linux. C'est un peu compliqué. Il semble que le shell d'alimentation de Windows soit une extension de la fonction basée sur l'invite de commande.)

devcontainer立ち上げ.png

④ Exécuter haskell

À ce stade, vous pouvez utiliser haskell.

Au terminal qui est sorti ci-dessous

$ stack ghci

Éxécuter. Vous pouvez maintenant exécuter haskell de manière interactive, comme vous l'avez fait à l'invite de commande.

実行.png

Au fait, ghci est une abréviation de "Glasgow Haskell Compiler Interface". Il semble que haskell a été développé à l'Université de Glasgow, une université dans la partie nord de l'Angleterre.

⑤ Modifier et exécuter le fichier hs

C'est bien de l'exécuter de manière interactive, mais comme j'utilise un éditeur, je veux écrire du code dans un fichier et le lire.

haskell gère en écrivant du code dans le fichier hs.

Par exemple, créez un fichier appelé "hello_world.hs" et écrivez le code suivant.

hello_world.hs


main = putStrLn "Hello world!"

Puis au terminal

$ stack runghc hello_world.hs

Éxécuter. Ensuite, il fera tout, de la compilation à l'exécution.

hello.png

Maintenant, il fait beau et vous pouvez courir haskell!

enfin

Cette fois, il s'agissait de la procédure pour exécuter haskell sur Windows 10 Famille. C'était presque comment exécuter Docker.

Je pense que je vais jouer avec lui comme passe-temps à partir de maintenant, donc je peux écrire fréquemment du matériel haskell.

Je veux bientôt écrire du matériel mathématique ~

Recommended Posts

Création d'un environnement haskell avec Docker + VS Code sur Windows10 Home
Créez un environnement de développement basé sur Doker sur Windows 10 Famille 2020 ver. Partie 2 VS Code devrait rendre l'environnement de développement Docker confortable
Créer un environnement Spring Boot avec Windows + VS Code
Créer un environnement de développement Java avec VS Code
Créer un environnement de développement basé sur Doker sur Windows10 Famille 2020 ver.Partie 1 Jusqu'à la construction de Docker basé sur WSL2
Créer un environnement de développement Java avec VS Code sur Mac
Créer un environnement de débogage Ruby avec VS Code de Windows 10
Difficultés à créer un environnement Ruby on Rails (Windows 10) (SQLite3)
Créez un environnement Vue3 avec Docker!
Créer un environnement Node.js avec Docker
Essayez Docker sur Windows Home (septembre 2020)
Premiers pas avec Docker avec VS Code
Utilisation de Docker avec Windows10 Home WSL2
Emplacement des paramètres de l'espace de travail lors de la connexion à distance avec VSCode et du travail sur un conteneur Docker
Procédure de création d'un environnement de développement d'applications Rails avec Docker [Rails, MySQL, Docker]
Construction de Rails 6 et environnement PostgreSQL avec Docker
Créer un environnement de développement PureScript avec Docker
[Ruby] Création d'un environnement de développement Ruby sur Ubuntu
Créer un environnement de développement Wordpress avec Docker
Créer un environnement de lecture de code Redmine sur Docker
Créer un environnement avec Docker sur AWS
Installons Docker sur Windows 10 et créons un environnement de vérification pour CentOS 8!
Un mémorandum lorsque IME ne peut pas être activé avec VS Code (Ubuntu 20.04)
Notez que VS Code + JUnit 5 peut être utilisé sous Windows 10
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
[Memo] Créez facilement un environnement CentOS 8 avec Docker
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
Créer un environnement Laravel / Docker avec VSCode devcontainer
Préparer un environnement de scraping avec Docker et Java
Essayez de déboguer un programme Java avec VS Code
Créer un environnement de développement Spring Boot avec docker
[Première construction d'environnement] J'ai essayé de créer un environnement Rails6 + MySQL8.0 + Docker sur Windows 10.
Créez un environnement de développement pour créer des applications Ruby on Jets + React avec Docker
Installez Ubuntu 20.04 dans la boîte virtuelle sur Windows10 et créez un environnement de développement à l'aide de docker
Lombok avec VS Code
La procédure que j'ai effectuée lorsque j'ai préparé l'environnement pour gradle + Java avec VS Code (Windows 10)
[Note] Créez un environnement Python3 avec Docker dans EC2
[Note] Créez un environnement Java à partir de zéro avec docker
Comment créer un environnement de développement Java avec VS Code