{"id":23523194,"url":"https://github.com/jeremysinger/haskellmooc_logfiles","last_synced_at":"2025-06-30T08:06:42.875Z","repository":{"id":148454150,"uuid":"124904171","full_name":"jeremysinger/haskellmooc_logfiles","owner":"jeremysinger","description":null,"archived":false,"fork":false,"pushed_at":"2018-07-27T13:03:14.000Z","size":5258,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-14T05:32:46.952Z","etag":null,"topics":["haskell","haskell-tutorial","logs","mooc"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeremysinger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-12T14:44:58.000Z","updated_at":"2018-07-27T13:03:17.000Z","dependencies_parsed_at":"2023-05-20T06:15:08.102Z","dependency_job_id":null,"html_url":"https://github.com/jeremysinger/haskellmooc_logfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jeremysinger/haskellmooc_logfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremysinger%2Fhaskellmooc_logfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremysinger%2Fhaskellmooc_logfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremysinger%2Fhaskellmooc_logfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremysinger%2Fhaskellmooc_logfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeremysinger","download_url":"https://codeload.github.com/jeremysinger/haskellmooc_logfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremysinger%2Fhaskellmooc_logfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262736599,"owners_count":23356146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["haskell","haskell-tutorial","logs","mooc"],"created_at":"2024-12-25T17:43:21.756Z","updated_at":"2025-06-30T08:06:42.862Z","avatar_url":"https://github.com/jeremysinger.png","language":"Python","readme":"\n# Anonymised logfiles from TryHaskell Servers\n\n## Background\n\nIn 2016, the University of Glasgow ran a Haskell MOOC for the first\ntime. Check out\nhttps://www.futurelearn.com/courses/functional-programming-haskell for\ndetails.\n\nWe forked the tryhaskell REPL environment to allow our students to\nexperiment with interactive coding, for basic Haskell expressions and\nprogram snippets. We captured the expressions submitted by the\nstudents, to analyse them for pedagogical research.  Our tryhaskell\nfork is at https://github.com/wimvanderbauwhede/haskelltutorials\n\n## Functional Babytalk\n\nInitial results are reported in our TFPIE 2017 paper, entitled\n\"Functional Babytalk\" - see\nhttps://www.cs.kent.ac.uk/people/staff/sjt/TFPIE2017/TFPIE_2017/Home.html\nfor details.\n\n## Logfile Formatting\n\nHere we publish the logfiles from the three AWS servers used for our\nREPL. Each line is a single expression evaluation attempt, with the\nformat\n\nT I \u003e H\n\nwhere T is a timestamp string, I is an integer representing a unique\nIP address, and H is a Haskell expression. The let-bound variables are\nautomatically managed by our Javascript frontend, to enable name\nbindings across multiple interactions.\n\n## Reuse\n\nPlease feel free to use these log files for your own analysis\npurposes. Please reference our TFPIE paper in any\npublications/presentations you generate from your analysis.\n\nThanks,\n\nJeremy Singer\nUniversity of Glasgow\nMarch 2018\nhttp://www.dcs.gla.ac.uk/~jsinger\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremysinger%2Fhaskellmooc_logfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeremysinger%2Fhaskellmooc_logfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremysinger%2Fhaskellmooc_logfiles/lists"}