From 40926bf7e0adde52d915edd4ed22f79c68595c2d Mon Sep 17 00:00:00 2001 From: Dmitry Voronin Date: Tue, 12 Mar 2024 21:37:20 +0300 Subject: [PATCH] Haskell : Create Hello World. --- .gitignore | 1 + haskell/Hello.hs | 3 +++ haskell/Makefile | 19 +++++++++++++++++++ haskell/flake.lock | 27 +++++++++++++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 haskell/Hello.hs create mode 100644 haskell/Makefile create mode 100644 haskell/flake.lock diff --git a/.gitignore b/.gitignore index 7aa52b3..273ad14 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .NixRoot* +build/ diff --git a/haskell/Hello.hs b/haskell/Hello.hs new file mode 100644 index 0000000..1421882 --- /dev/null +++ b/haskell/Hello.hs @@ -0,0 +1,3 @@ +main = do + putStrLn "Hello, everybody!" + putStrLn ("Please look at my favorite odd numbers: " ++ show (filter odd [10..20])) diff --git a/haskell/Makefile b/haskell/Makefile new file mode 100644 index 0000000..d10b943 --- /dev/null +++ b/haskell/Makefile @@ -0,0 +1,19 @@ +main = "Hello.hs" +build = "build" +elf = "$(build)/elf" + +.PHONY: all +all: clean build run + +.PHONY: clean +clean: + @rm -rf $(build) + +.PHONY: build +build: + @mkdir $(build) &> /dev/null; \ + ghc -outputdir $(build) -o $(elf) $(main) + +.PHONY: run +run: + @./$(elf) diff --git a/haskell/flake.lock b/haskell/flake.lock new file mode 100644 index 0000000..f3e8c2b --- /dev/null +++ b/haskell/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1709961763, + "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +}