Free resources
Logic and functional programming
Ask questions of facts and rules in Prolog, and write functions with types in Haskell.
Two labs, each a terminal with a language that thinks differently: SWI-Prolog, where a program is facts and rules and running it is asking a question, and GHC, where a program is functions with types.
Hands-on labs
Hands-on lessons
Every lesson here is worked in a hands-on lab: a real environment with a terminal beside it, nothing to install. A free account runs every lab, with enough free credit each month to follow most lessons, and is given the basic lessons on Home; with no account you can run the Git lab and the SQL lab.
Hands-on lesson · container lab
Prolog Basics
Work through this lesson in a real lab, with a terminal beside it, not just by reading.
A private SWI-Prolog interpreter for each student: facts, rules, questions and a rule that calls itself. Code on GitHub.
How it works · Source on GitHub · Create a free account to run it
Hands-on lesson · container lab
Haskell Basics
Work through this lesson in a real lab, with a terminal beside it, not just by reading.
A private GHC Haskell compiler for each student: functions with types, lists, folds and a type of your own. Code on GitHub.
How it works · Source on GitHub · Create a free account to run it
Basic lessons are given to every free account, on Home, and to every college. Full course lessons are for colleges. Labs marked as an Ubuntu VM lab are set by a teacher in a module, and their lessons start the VM for you.
Run these yourself
A free personal account runs every lab here and its lesson, with enough free credit each month to follow most lessons. Teaching a class? Start a college and set them for your students.
Make a free accountStart a college
Already have an account? Sign in