{"id":15590320,"url":"https://github.com/aidanwhiteley/scala_impatient","last_synced_at":"2025-03-29T09:44:20.083Z","repository":{"id":5733648,"uuid":"6945669","full_name":"aidanwhiteley/scala_impatient","owner":"aidanwhiteley","description":"Some possible solutions to the exercises in Cay Horstmann's Scala For The Impatient (by a Java programmer learning Scala)","archived":false,"fork":false,"pushed_at":"2017-12-18T10:41:35.000Z","size":153,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-04T01:11:09.322Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aidanwhiteley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-11-30T21:04:24.000Z","updated_at":"2021-05-07T16:56:03.000Z","dependencies_parsed_at":"2022-08-24T21:41:05.236Z","dependency_job_id":null,"html_url":"https://github.com/aidanwhiteley/scala_impatient","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidanwhiteley%2Fscala_impatient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidanwhiteley%2Fscala_impatient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidanwhiteley%2Fscala_impatient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidanwhiteley%2Fscala_impatient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aidanwhiteley","download_url":"https://codeload.github.com/aidanwhiteley/scala_impatient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246168091,"owners_count":20734389,"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-10-02T23:21:18.611Z","updated_at":"2025-03-29T09:44:20.042Z","avatar_url":"https://github.com/aidanwhiteley.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003eProject Details\u003c/h1\u003e\n\u003ch2\u003eScala For The Impatient Exercises\u003c/h1\u003e\n\u003cp\u003e\nThis repository contains some sample solutions to the exercises in Cay Hortsmann's book\nScala For The Impatient.\n\u003c/p\u003e\n\u003cp\u003e\nLike everything else, it is a work in progress. It contains progress to date noting that \nI haven't spent the time to create solutions for those exercises that either:\n\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edon't really interest me - e.g. exercises for the chapters on packages and annotations\u003c/li\u003e\n\u003cli\u003eexercises that don't readily allow test driven development - e.g. those that just want output printed to the console (albeit I've converted many of these to return testable Strings)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIs it any good?\u003c/h3\u003e\n\u003cp\u003e\nIs the code in the solutions any good? I very much doubt it! As a long term Java user (and previous user of many other imperative languages), I know that I \nhaven't really got the many of the Scala idioms \"down\" yet. It is worth mentioning that despite having just completed Martin Odersky's course  \n\u003ca href=\"https://www.coursera.org/course/progfun\"\u003eFunctional Programming Principles In Scala\u003c/a\u003e, I am trying to create solution\nanswers only using concepts introduced in the chapters preceding each exercise. So, for example, the early chapter solutions contain lots of mutable \nvariables, explicit looping etc\n\u003c/p\u003e\n\u003ch3\u003eProject build\u003c/h3\u003e\n\u003cp\u003e\nThe project can be built with SBT using the build.sbt file. This should bring down the dependencies for testing using ScalaTest\nand supporting running the tests as JUnits if required. Running \u0026quot;test\u0026quot; from sbt should run the 130 or so ScalaTest based tests\nwhich, at the time of writing, should all pass.\n\u003c/p\u003e\u003cp\u003e\nThe repository doesn't include any Eclipse related files although Eclipse is being used during the development. The SBT eclipse plugin\ncan be added using \n\u003ccode\u003e\naddSbtPlugin(\"com.typesafe.sbteclipse\" % \"sbteclipse-plugin\" % \"2.1.0\")\n\u003c/code\u003e\nand then the project files created using \n\u003ccode\u003esbt eclipse\u003c/code\u003e.\n\u003c/p\u003e\n\u003ch4\u003eScala version\u003c/h4\u003e\n\u003cp\u003e\nWith Scala 2.10 released on 4th January 2013, I changed the build over to Scala 2.10. This required a few source level changes e.g.\n\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eexplicit imports now required for some of the less commonly used areas of Scala such as \u003ccode\u003escala.language.reflectiveCalls\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ethe 2.9.x Actor classes are deprecated in favour of the Akka framework with previous \u003ccode\u003escala.actors\u003c/code\u003e code now moved out to a separate jar. \nThis required changes to the build script.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe upshot of all this is that the project can no longer be built \"as is\" with Scala 2.9.x - it requires Scala 2.10\u003c/p\u003e\n\n\u003ch2\u003eGit and GitHub\u003c/h2\u003e\n\u003cp\u003eAs a long term Subversion user, I am using this project to learn Git and GitHub. Apologies for any faux pas!\n\u003c/p\u003e\n\n\u003ch2\u003eAcknowledgements\u003c/h2\u003e\n\u003cp\u003eThere are plenty of GitHub repositories that contain exercises for one or two chapters of Scala For The Impatient.\nAlexander Mikhailov's \u003ca href=\"https://github.com/hempalex/scala-impatient\"\u003erepository\u003c/a\u003e proved a more useful source of inspiration/ideas when stuck! \n\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faidanwhiteley%2Fscala_impatient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faidanwhiteley%2Fscala_impatient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faidanwhiteley%2Fscala_impatient/lists"}