Last active
April 29, 2023 20:42
-
-
Save bobbicodes/fdf89db9e8b3c1161eefa3b80a4fd32f to your computer and use it in GitHub Desktop.
Revisions
-
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -25,9 +25,7 @@ Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavi - Atoms - Threading macros - [Protocols](https://github.com/exercism/clojure/issues/542) - My idea for this is to do something inspired by [emmy](https://github.com/mentat-collective/emmy), which is a very nice example of protocols. For example, an exercise involving defining operations for complex numbers would be cool. A long term vision is to create a mathematics mini-course, since Clojure is superb for this and more people should try it! The main part of the syllabus takes priority, however. - [Partition](https://github.com/exercism/clojure/issues/479), `juxt`, `for` - Associative destructuring - [Multiarity](https://github.com/exercism/clojure/issues/306), [variadic](https://github.com/exercism/clojure/issues/308), [anonymous](https://github.com/exercism/clojure/issues/309) functions -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 4 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,10 +13,11 @@ Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavi - [Lists exercise](https://github.com/exercism/clojure/tree/main/exercises/concept/tracks-on-tracks-on-tracks) - This one needed to be revamped because the idiomatic solution included threading macros, which were not yet taught at that point. So this exercise now teaches threading macros, and the Card Games exercise (see below) is being ported from the Python track because it is a better exercise for teaching list operations. ### New concept exercises in progress: - Hashmaps - [International Calling Connoisseur](https://github.com/exercism/clojure/tree/international-calling-coonoisseur/exercises/concept/international-calling-connoisseur) - Chars - [Squeaky Clean](https://github.com/exercism/clojure/tree/main/exercises/concept/squeaky-clean) - Regex - [Date Parser](https://github.com/exercism/clojure/pull/492) - closures - [Coordinate Transformation](https://github.com/exercism/clojure/tree/main/exercises/concept/coordinate-transformation) - Multimethods - [Wizards and Warriors](https://github.com/exercism/clojure/tree/wizards-and-warriors/exercises/concept/wizards-and-warriors) ### Concept exercises planned: -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,7 +8,7 @@ Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavi ### Revised existing exercises: - [Basic intro](https://github.com/exercism/clojure/pull/548) - I tried to give special attention to the very first lesson, because for the majority of students this is their first contact with Clojure and I take that as a considerable responsibility. Its objective is to provide the fastest possible onramp to get the student started without them needing to immediately look anywhere else. Since Exercism is all about teaching new languages to folks who already know how to code, our target experience level is someone who has never seen Clojure, Lisp, or functional programming concepts before, but is fluent in at least one other language. So far, feedback has been very positive :) - [Lists exercise](https://github.com/exercism/clojure/tree/main/exercises/concept/tracks-on-tracks-on-tracks) - This one needed to be revamped because the idiomatic solution included threading macros, which were not yet taught at that point. So this exercise now teaches threading macros, and the Card Games exercise (see below) is being ported from the Python track because it is a better exercise for teaching list operations. -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ ## Inline evaluation via SCI I'm very excited about this feature because it transforms the online editor into a proper interactive Clojure environment. When the track was first launched in 2021 we received some valuable feedback from fellow Clojurists, who said that the online editor was quite lacking to someone familiar with using an editor connected REPL. I too consider this an inseparable part of the Clojure development experience, so this is something I've wanted to do for a long time. Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing [Ruby on Rails/React application](https://github.com/exercism/website) while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 3 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,8 @@ ## Inline evaluation via SCI I'm very excited about this feature because it transforms the online editor into a proper interactive Clojure environment. When the track was first launched in 2021 we received some valuable feedback from fellow Clojurists, who said that the online editor was quite lacking to someone familiar with using an editor connected REPL. I too consider this an inseperable part of the Clojure development experience, so this is something I've wanted to do for a long time. Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing [Ruby on Rails/React application](https://github.com/exercism/website) while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,7 +21,7 @@ I'm very excited about this feature because it transforms the online editor into - Lists - [Card games](https://github.com/exercism/python/tree/main/exercises/concept/card-games) - Atoms - Threading macros - [Protocols](https://github.com/exercism/clojure/issues/542) - My idea for this is to do something inspired by [emmy](https://github.com/mentat-collective/emmy), which is a very nice example of protocols. For example, an exercise involving defining operations for complex numbers would be cool. A long term vision is to create a mathematics mini-course, since Clojure is superb for this and more people should try it! The main part of the syllabus takes priority, however. - [Partition](https://github.com/exercism/clojure/issues/479) - `juxt` - `for` -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,23 +4,23 @@ I'm very excited about this feature because it transforms the online editor into ## Syllabus ### Revised existing exercises: - [Basic intro](https://github.com/exercism/clojure/pull/548) - I tried to give special attention to the very first lesson, because for the majority of students this is their first contact with Clojure. Its objective is to provide the fastest possible onramp to get the student started without them needing to immediately look anywhere else. Since Exercism is all about teaching new languages to folks who already know how to code, our target experience level is someone who has never seen Clojure, Lisp, or functional programming concepts before, but is fluent in at least one other language. So far, feedback has been very positive :) - [Lists exercise](https://github.com/exercism/clojure/tree/main/exercises/concept/tracks-on-tracks-on-tracks) - This one needed to be revamped because the idiomatic solution included threading macros, which were not yet taught at that point. So this exercise now teaches threading macros, and the Card Games exercise (see below) is being ported from the Python track because it is a better exercise for teaching list operations. ### New concept exercises in progress: - Hashmaps - [International Calling Connoisseur](https://github.com/exercism/clojure/tree/international-calling-coonoisseur/exercises/concept/international-calling-connoisseur) - Chars - [Squeaky Clean](https://exercism.org/tracks/clojure/exercises/squeaky-clean/) - Regex - [Date Parser](https://exercism.org/tracks/clojure/exercises/date-parser/) - closures - [Coordinate Transformation](https://exercism.org/tracks/clojure/exercises/coordinate-transformation/) - Multimethods - [Wizards and Warriors](https://github.com/exercism/clojure/tree/wizards-and-warriors/exercises/concept/wizards-and-warriors) ### Concept exercises planned: - Lists - [Card games](https://github.com/exercism/python/tree/main/exercises/concept/card-games) - Atoms - Threading macros - [Protocols](https://github.com/exercism/clojure/issues/542) - My idea for this is to do something inspired by [emmy](https://github.com/mentat-collective/emmy), which is a very nice example of protocols. For example, an exercise involving defining operations for complex numbers would be cool. A long term vision is to create a mathematics mini-course, since Clojure is superb for this and more people should try it! - [Partition](https://github.com/exercism/clojure/issues/479) - `juxt` -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,7 +21,7 @@ I'm very excited about this feature because it transforms the online editor into - Atoms - Threading macros - Multimethods - [Protocols](https://github.com/exercism/clojure/issues/542) - My idea for this is to do something inspired by [emmy](https://github.com/mentat-collective/emmy), which is a very nice example of protocols. For example, an exercise involving defining operations for complex numbers would be cool. A long term vision is to create a mathematics mini-course, since Clojure is superb for this and more people should try it! - [Partition](https://github.com/exercism/clojure/issues/479) - `juxt` - `for` -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -23,6 +23,8 @@ I'm very excited about this feature because it transforms the online editor into - Multimethods - [Protocols](https://github.com/exercism/clojure/issues/542) - My idea for this is to do something inspired by [emmy](https://github.com/mentat-collective/emmy), which is a very nice example of protocols. - [Partition](https://github.com/exercism/clojure/issues/479) - `juxt` - `for` - Associative destructuring - [Multiarity](https://github.com/exercism/clojure/issues/306), [variadic](https://github.com/exercism/clojure/issues/308), [anonymous](https://github.com/exercism/clojure/issues/309) functions -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,7 +21,7 @@ I'm very excited about this feature because it transforms the online editor into - Atoms - Threading macros - Multimethods - [Protocols](https://github.com/exercism/clojure/issues/542) - My idea for this is to do something inspired by [emmy](https://github.com/mentat-collective/emmy), which is a very nice example of protocols. - [Partition](https://github.com/exercism/clojure/issues/479) - Associative destructuring - [Multiarity](https://github.com/exercism/clojure/issues/306), [variadic](https://github.com/exercism/clojure/issues/308), [anonymous](https://github.com/exercism/clojure/issues/309) functions -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ ## Inline evaluation via SCI I'm very excited about this feature because it transforms the online editor into a proper interactive Clojure environment. When the track was first launched in 2021, we received some feedback from Clojure developers that the online editor was pretty much useless to someone familiar with the REPL, so this is something I've wanted to do for a long time. Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing [Ruby on Rails/React application](https://github.com/exercism/website) while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -36,4 +36,4 @@ The learning exercise test suites now include metadata linking each test case to ## Gratitude Besides allowing me to work on this full time, the funding enabled me to adopt two beautiful kitty cats! Now, coding is even more fun. Many thanks to all who made this possible. -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 5 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -32,4 +32,8 @@ I'm very excited about this feature because it transforms the online editor into ## Test runner upgrade The learning exercise test suites now include metadata linking each test case to its respective task in the instructions. This enables a better user experience, because now after the tests are run, there is a button to return the student to the proper place. ## Gratitude Besides allowing me to work on this full time, the funding enabled me to acquire two beautiful kitty cats! Now, coding is even more fun. Many thanks to all who made this possible. -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ ## Inline evaluation via SCI I'm very excited about this feature because it transforms the online editor into a proper interactive Clojure environment. When the track was first launched, we received a ton of feedback from Clojure developers that the online editor was pretty much useless to someone familiar with the REPL, so this is something I've wanted to do for a long time. Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing [Ruby on Rails/React application](https://github.com/exercism/website) while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,7 +6,7 @@ I'm very excited about this feature because it transforms the online editor into ### Improved existing exercises: - [Basic intro](https://github.com/exercism/clojure/pull/548) - I tried to give special attention to this, because its purpose is to provide the fastest possible onramp to get the student started without them needing to go anywhere else right away. Since Exercism is all about teaching new languages to folks who already know how to code, our target experience level is someone who has never seen Clojure, Lisp, or functional programming concepts before, but is fluent in at least one other language. So far, feedback has been very positive :) - [Lists exercise](https://github.com/exercism/clojure/tree/main/exercises/concept/tracks-on-tracks-on-tracks) - This one needed to be revamped because the idiomatic solution included threading macros, which were not yet taught at that point. So this exercise now teaches threading macros, and the Card Games exercise (see below) is being ported from the Python track because it is a better exercise for teaching list operations. -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,7 +6,7 @@ I'm very excited about this feature because it transforms the online editor into ### Improved existing exercises: - [Basic intro](https://github.com/exercism/clojure/pull/548) - I tried to give special attention to this, because its purpose is to provide the fastest possible onramp to get the student started without them needing to go anywhere else right away. Since Exercism is all about teaching new languages to folks who already know how to code, our target experience level is someone who has never seen Clojure, Lisp, or functional programming concepts before, but is fluent in at least one other language. - [Lists exercise](https://github.com/exercism/clojure/tree/main/exercises/concept/tracks-on-tracks-on-tracks) - This one needed to be revamped because the idiomatic solution included threading macros, which were not yet taught at that point. So this exercise now teaches threading macros, and the Card Games exercise (see below) is being ported from the Python track because it is a better exercise for teaching list operations. -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 4 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -5,8 +5,10 @@ I'm very excited about this feature because it transforms the online editor into ## Syllabus ### Improved existing exercises: - [Basic intro](https://github.com/exercism/clojure/pull/548) - I tried to give special attention to this, because its purpose is to provide the fastest possible onramp to get the student started without them needing to go anywhere else right away. Since Exercism is all about teaching new languages to folks who already know how to code, our target experience level is someone who has never seen Clojure or functional programming before, but know at least one other language well. - [Lists exercise](https://github.com/exercism/clojure/tree/main/exercises/concept/tracks-on-tracks-on-tracks) - This one needed to be revamped because the idiomatic solution included threading macros, which were not yet taught at that point. So this exercise now teaches threading macros, and the Card Games exercise (see below) is being ported from the Python track because it is a better exercise for teaching list operations. ### New concept exercises in progress: - Hashmaps - [International Calling Connoisseur](https://exercism.org/tracks/clojure/exercises/international-calling-connoisseur/) -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 4 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -19,7 +19,10 @@ I'm very excited about this feature because it transforms the online editor into - Atoms - Threading macros - Multimethods - [Protocols](https://github.com/exercism/clojure/issues/542) - [Partition](https://github.com/exercism/clojure/issues/479) - Associative destructuring - [Multiarity](https://github.com/exercism/clojure/issues/306), [variadic](https://github.com/exercism/clojure/issues/308), [anonymous](https://github.com/exercism/clojure/issues/309) functions ### New practice exercises - Yacht -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -9,10 +9,10 @@ I'm very excited about this feature because it transforms the online editor into - lists ### New concept exercises in progress: - Hashmaps - [International Calling Connoisseur](https://exercism.org/tracks/clojure/exercises/international-calling-connoisseur/) - Chars - [Squeaky Clean](https://exercism.org/tracks/clojure/exercises/squeaky-clean/) - Regex - [Date Parser](https://exercism.org/tracks/clojure/exercises/date-parser/) - closures - [Coordinate Transformation](https://exercism.org/tracks/clojure/exercises/coordinate-transformation/) ### Concept exercises planned: - Lists - [Card games](https://github.com/exercism/python/tree/main/exercises/concept/card-games) -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,7 +15,7 @@ I'm very excited about this feature because it transforms the online editor into - closures - Coordinate Transformation ### Concept exercises planned: - Lists - [Card games](https://github.com/exercism/python/tree/main/exercises/concept/card-games) - Atoms - Threading macros - Multimethods -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ ## Inline evaluation via SCI I'm very excited about this feature because it transforms the online editor into a proper interactive Clojure environment. Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing [Ruby on Rails/React application](https://github.com/exercism/website) while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ ## Inline evaluation via SCI I'm very excited about this feature because it transforms the online editor into a proper interactive Clojure environment. Once I [prototyped](https://github.com/bobbicodes/typomaniac) the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing Ruby on Rails/React application while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ ## Inline evaluation via SCI I'm very excited about this feature because it transforms the online editor into a proper interactive Clojure environment. Once I prototyped the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing Ruby on Rails/React application while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus -
bobbicodes revised this gist
Apr 29, 2023 . 1 changed file with 1 addition and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,6 @@ ## Inline evaluation via SCI I'm very excited about this feature, because when complete it will transform the online editor into a proper interactive Clojure environment. Once I prototyped the desired behavior using [Nextjournal's clojure-mode](https://github.com/nextjournal/clojure-mode), the next task was to figure out how to best integrate it into the existing Ruby on Rails/React application while making as minimal impact on the codebase as possible. The first thing I tried was to use [scittle](https://github.com/babashka/scittle) to load [SCI](https://github.com/babashka/sci) via the `<script>` tag. This worked great, but I wanted something more modular and realized the best thing to do would be to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to [@nextjournal/lang-clojure](https://github.com/nextjournal/lang-clojure) which I was able to fork and use as a template, which is itself based on [@codemirror/lang-javascript](https://github.com/codemirror/lang-javascript). This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a Clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus -
bobbicodes created this gist
Apr 29, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,31 @@ ## Inline evaluation via SCI Very excited about this feature, because when complete it will transform the online editor into a proper interactive Clojure environment. Once I prototyped the desired behavior using Nextjournal's clojure-mode, the next task was to figure out how to best integrate it into the existing Ruby on Rails/React application while making as minimal impact on the codebase as possible. One option was to use scittle to load SCI via the `<script>` tag, but ended up deciding to make it into a proper plugin for Codemirror 6 and package it as an npm library similar to `@nextjournal/lang-clojure` which I was able to fork and use as a template, itself based on `@codemirror/lang-javascript`. This makes it extremely easy on the website team because it simply replaces the legacy plugin used previously, with the added benefit of creating a clojure-evaluation plugin that can be used by the rest of the Clojure community to build highly interactive editors on the web. Repo: https://github.com/bobbicodes/clojure-eval ## Syllabus ### Improved existing exercises: - Basic intro to functions - lists ### New concept exercises in progress: - Hashmaps - International Calling Connoisseur - Chars - Squeaky Clean - Regex - Date Parser - closures - Coordinate Transformation ### Concept exercises planned: - Lists - Card games - Atoms - Threading macros - Multimethods - Protocols ### New practice exercises - Yacht - Zipper ## Test runner upgrade The learning exercise test suites now include metadata linking each test case to its respective task in the instructions. This enables a better user experience, because now after the tests are run, there is a button to return the student to the proper place.