{"id":13723353,"url":"https://github.com/ChrisMarinos/FSharpKoans","last_synced_at":"2025-05-07T16:32:50.816Z","repository":{"id":1033150,"uuid":"1542281","full_name":"ChrisMarinos/FSharpKoans","owner":"ChrisMarinos","description":"A simple, fun, and interactive way to learn the F# language through testing.","archived":false,"fork":false,"pushed_at":"2024-02-22T15:38:45.000Z","size":494,"stargazers_count":1285,"open_issues_count":14,"forks_count":671,"subscribers_count":62,"default_branch":"fsharp","last_synced_at":"2024-11-14T12:51:17.603Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChrisMarinos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","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}},"created_at":"2011-03-29T16:39:37.000Z","updated_at":"2024-11-13T13:16:21.000Z","dependencies_parsed_at":"2024-11-14T12:45:15.121Z","dependency_job_id":null,"html_url":"https://github.com/ChrisMarinos/FSharpKoans","commit_stats":{"total_commits":179,"total_committers":53,"mean_commits":"3.3773584905660377","dds":0.5307262569832403,"last_synced_commit":"1f544f7cf2fb43b471f7d59605eb94ec11c2b66f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisMarinos%2FFSharpKoans","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisMarinos%2FFSharpKoans/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisMarinos%2FFSharpKoans/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisMarinos%2FFSharpKoans/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisMarinos","download_url":"https://codeload.github.com/ChrisMarinos/FSharpKoans/tar.gz/refs/heads/fsharp","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252915529,"owners_count":21824586,"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":[],"created_at":"2024-08-03T01:01:39.798Z","updated_at":"2025-05-07T16:32:45.805Z","avatar_url":"https://github.com/ChrisMarinos.png","language":"F#","funding_links":[],"categories":["Languages"],"sub_categories":["Other Languages"],"readme":"[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ChrisMarinos/FSharpKoans)\n\n# Functional Koans - F# #\n\nInspired by EdgeCase's fantastic [Ruby koans](http://github.com/edgecase/ruby_koans),\nthe goal of the F# koans is to teach you F# through testing.\n\nWhen you first run the koans, you'll be presented with a runtime error and a\nstack trace indicating where the error occurred. Your goal is to make the\nerror go away. As you fix each error, you should learn something about\nthe F# language and functional programming in general.\n\nYour journey towards F# enlightenment starts in the AboutAsserts.fs file. These\nkoans will be very simple, so don't overthink them! As you progress through\nmore koans, more and more F# syntax will be introduced which will allow\nyou to solve more complicated problems and use more advanced techniques.\n\n### Running with GitHub Codespaces\n[GitHub Codespaces](https://github.com/features/codespaces) is a free platform to run F# Koans completely in your browser, no install or setup required! Just go\nto https://github.com/ChrisMarinos/FSharpKoans/codespaces and click \"New CodeSpace\"\n\n### Running with Docker\n\nTo launch in watch mode using docker run the following command;\n\n`$ ./docker.sh`\n\n### Prerequisites\n\nThe F# Koans needs [.NET 6.0](https://dotnet.microsoft.com/download) to be built and run. Make sure that you have installed it before building the project. This is the long-term support release of .NET that many modern F# and .NET applications use.\n\nAdditionally, the project provides [Visual Studio Code](https://code.visualstudio.com/) configuration for running.\nTo be able to run F# projects in Visual Studio Code, the\n[Ionide plugin](https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-fsharp) should be also installed.\n\n### Running the Koans from the command line (.Net Core)\n\n1. To build the Koans, run `dotnet build` command in the project root.\n\n2. To run the Koans, run `dotnet run --project FSharpKoans/FSharpKoans.fsproj` in the root directory or `dotnet run` in `FSharpKoans` project directory.\n\n### Running the Koans in Visual Studio Code\n\n1. Open the project directory in Visual Studio Code with Ionide-fsharp plugin installed\nand press F5 to build and launch the Koans (some time is needed to build the project before launch).\n\n### Running the Koans from a Devcontainer\n\n1. Install the Remote - Containers extension in Visual Studio Code.\n\n2. Open the directory inside a Devcontainer.\n\n3. Open a terminal and start using the Koans.\n\n### Using dotnet-watch\n\nYou can also use [dotnet-watch](https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/tutorials/dotnet-watch.md) to have your changes reloaded automatically.\nTo do so, navigate into `FSharpKoans` directory and run `dotnet watch run`. Now, after you change the project code, it will be automatically reloaded and tests rerun.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChrisMarinos%2FFSharpKoans","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChrisMarinos%2FFSharpKoans","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChrisMarinos%2FFSharpKoans/lists"}