-
Notifications
You must be signed in to change notification settings - Fork 193
Comparing changes
Open a pull request
base repository: kousen/java_upgrade
base: main
head repository: 66-24/functional_java
compare: main
- 14 commits
- 22 files changed
- 2 contributors
Commits on Aug 13, 2025
-
✨, 📝, ⬆️ feat(project): setup development environment with direnv and…
… add notes The project now uses direnv to manage the development environment. A `.envrc` file has been added to configure environment variables and manage dependencies. The `.gitignore` file has been updated to ignore direnv and other development-related files. Notes on functional programming in Java and JVM troubleshooting have been added to `Notes.md`. The Java version has been upgraded to 21. A `devenv.nix` file has been added to manage the Nix development environment. A `devenv.yaml` file has been added to configure the development environment. The `functional_programming_in_java.pdf` file has been added. The `build.gradle` file has been updated to use Java 21.
Configuration menu - View commit details
-
Copy full SHA for 8ae7d4c - Browse repository at this point
Copy the full SHA 8ae7d4cView commit details -
📝 (Notes.md): Add notes on Nix-based development environment setup
The commit adds a section to the Notes.md file detailing the steps for setting up a Nix-based development environment. This improves reproducibility and consistency across different development machines.
Configuration menu - View commit details
-
Copy full SHA for eb6710d - Browse repository at this point
Copy the full SHA eb6710dView commit details -
✨ Add watch-pull.sh script to automate branch pull
This commit introduces a new script, `watch-pull.sh`, that automates the process of periodically pulling changes from a selected remote branch. The script uses `fzf` for interactive branch selection and allows the user to specify the update interval. This improves developer workflow by providing a convenient way to monitor and update specific remote branches.
Configuration menu - View commit details
-
Copy full SHA for dcb91bc - Browse repository at this point
Copy the full SHA dcb91bcView commit details -
📝 ✨ Add notes on AI assist, data types, latency, and prefixes
The commit adds several sections to the Notes.md file: - AI Assist: Links to Google's Gemini Code Assist documentation. - In Bits and Bytes: A table summarizing the sizes of common data types in Java. - Latency Numbers Every Programmer Should Know: A table listing latency numbers for various operations. - Powers of 10 (Time Units) and Powers of 2 (Common Data Units): Tables summarizing common time and data units and their abbreviations. - Decimal vs Binary Prefixes: A table comparing decimal and binary prefixes and highlighting the percentage difference. These additions provide valuable reference information for future learning and development.
Configuration menu - View commit details
-
Copy full SHA for c1b25e9 - Browse repository at this point
Copy the full SHA c1b25e9View commit details -
✅ ✨ (FunctionalInterfacesTest.java): Add tests for Supplier and Doubl…
…eSupplier functional interfaces The commit adds several new test cases demonstrating the use of `Supplier` and `DoubleSupplier` functional interfaces with lambda expressions and method references. This enhances the test suite's coverage of functional programming concepts in Java.
Configuration menu - View commit details
-
Copy full SHA for fb0a4be - Browse repository at this point
Copy the full SHA fb0a4beView commit details
Commits on Aug 14, 2025
-
✨ Add CurryingExample.java: implement currying in Java using lambda e…
…xpressions The `CurryingExample.java` file demonstrates the concept of currying in Java using lambda expressions. It shows how to define a curried function, apply arguments one by one, and perform partial application to create specialized functions. This example enhances understanding of functional programming concepts.
Configuration menu - View commit details
-
Copy full SHA for a6de8ac - Browse repository at this point
Copy the full SHA a6de8acView commit details -
📝 ✨ (Notes.md, CurryingExample.java): Add Vavr.io notes and improve c…
…urrying example code formatting The `Notes.md` file has been updated to include notes on Vavr.io, a functional programming library for Java. The `CurryingExample.java` file's code formatting has been improved for better readability, making the curried function definition clearer.
Configuration menu - View commit details
-
Copy full SHA for 8d64563 - Browse repository at this point
Copy the full SHA 8d64563View commit details -
Refactor
FileFilterExercisestests for clarity and completeness- Consolidated static imports for assertions - Implemented missing TODOs with directory filters using lambdas, anonymous inner class, and block lambdas - Added assertions for directories count where applicable - Minor improvements to test logging with `System.out.println`
Configuration menu - View commit details
-
Copy full SHA for 4a0271d - Browse repository at this point
Copy the full SHA 4a0271dView commit details -
Implement remaining TODOs in
LazyEvaluationExercisesand `FileFilte……rExercises` - Replaced commented-out TODOs with proper implementations in `LazyEvaluationExercises` - Added filename and directory filters using lambdas and method references in `FileFilterExercises` - Included assertions for file/directory counts and .java extensions
Configuration menu - View commit details
-
Copy full SHA for 95e00d9 - Browse repository at this point
Copy the full SHA 95e00d9View commit details -
Modernize
UsePersonwith Java 17 features and suppress warnings- Add `@SuppressWarnings("Convert2MethodRef")` to avoid inspection noise - Replace `collect(Collectors.toList())` with `.toList()` - Adjust regex in `split` method for consistency with whitespace handling - Simplify `LinkedList` instantiation using diamond operator - Use `parallelStream` for potential performance improvementsConfiguration menu - View commit details
-
Copy full SHA for 9174f1a - Browse repository at this point
Copy the full SHA 9174f1aView commit details -
Refactor
FlatMapDemoandCompanyEmployeewith modern Java constructs- Use `isEmpty()` instead of `size() == 0` in `FlatMapDemo` - Migrate `CompanyEmployee` to a `record` for brevity and immutability - Adjust `Employee` interface methods to align with record fields - Add `mapForEach` test method in `FileFilterExercises` to explore map iteration techniques - Update `CompanyEmployeeTest` to test the new record structure
Configuration menu - View commit details
-
Copy full SHA for fcdda0c - Browse repository at this point
Copy the full SHA fcdda0cView commit details -
Add tests for stream reduce operations in
ReduceTest- Implemented various scenarios for `reduce`, such as summing numbers, string concatenation, counting characters, and filtering with reduction - Included tests for `IntStream.sum()` and optional handling with `orElse`
Configuration menu - View commit details
-
Copy full SHA for ffa0d7d - Browse repository at this point
Copy the full SHA ffa0d7dView commit details -
Added a new image file, `haskell_gaming.png`, likely for use as a logo or graphic within the project. This enhances the project's visual appeal or provides necessary assets.
Configuration menu - View commit details
-
Copy full SHA for cba2028 - Browse repository at this point
Copy the full SHA cba2028View commit details -
📝 (Notes.md): Add links to various resources and update notes
✨ (Notes.md): Add new sections on JSpecify, OCaml, and Haskell ✨ (Notes.md): Add a new section on Streams, detailing types of operations and their purposes. ✨ (img.png): Add image for Haskell gaming section The commit adds several new links to resources related to Java, functional programming, and other programming languages. It also introduces new sections on JSpecify, OCaml, Haskell, and Streams, providing more detailed information and examples. Finally, an image related to Haskell gaming is added to enhance the notes.
Configuration menu - View commit details
-
Copy full SHA for 36b26ac - Browse repository at this point
Copy the full SHA 36b26acView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...main