A Tour of Scala
specter
A Tour of Scala | specter | |
---|---|---|
4 | 19 | |
309 | 2,575 | |
1.0% | 0.5% | |
8.1 | 2.5 | |
about 13 hours ago | 10 months ago | |
Scala | Clojure | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
A Tour of Scala
- Engenharia de Dados com Scala: aprenda a fazer webscraping dos filmes mais assistidos da Netflix em cada país
-
Why your F# evangelism isn't working
Martin Odersky is just a very nice guy and I get the impression that he isn't keen on saying "no", which is how you end up with a language that allows you to use xml tags inline (no longer supported in Scala 3),
https://github.com/scala/scala-xml/wiki/Getting-started
The "opinionated" Scala are the Typelevel and Zio stacks, which are very cool.
The problem with the "better Java" approach is that although it has helped Scala's growth a lot, it has also made it susceptible to Kotlin. The Scala code that doesn't use the advanced type magic can be straightforwardly rewritten in Kotlin instead. Kotlin also stops your bored developers from building neat type abstractions that no one else understands.
People who use Scala only has a "better Java" can now use Kotlin has a "better "better Java"".
- Maud: A Rust macro for writing HTML
-
Scala XML library
https://github.com/scala/scala-xml/releases is now published separately from the main language.
specter
-
Why Clojure?
> There is no way to know what's being passed around without reading the source of the whole chain.
But that's not what a Clojure dev would do.
1) We use Malli [0] (or similar) to check specs and coerce types if need.
2) If the coercion is difficult, use something like Meander. [1]
3) If even that isn't straightforward, you need actual logic in the loop, use Spectre. [3]
4) If you're not sure what going on at intermediate steps, use FlowStorm [4].
5) But we've got lots of data we haven't seen before! Use, Malli with test.check and make use of property-based testing with generators.
None of this is "advanced" Clojure, this is bread-and-butter stuff I use every day. Need a Notebook-like experience to get better visualization of intermediate data? Use Clerk [4].
Need special checks on API usage within your codebase? Use clj-kondo [5] with custom linters. They're less than 10 lines each.
Unlike default-mutable languages, or typed, it's safe and easy to use libraries with Clojure and they tend to have very little churn. Total opposite from Python or JavaScript (if you're used to that).
[0] https://github.com/metosin/malli
[1] https://github.com/noprompt/meander
[2] https://github.com/redplanetlabs/specter
[3] https://www.flow-storm.org/
[4] https://clerk.vision/
[5] https://github.com/clj-kondo/clj-kondo
-
Rama is a testament to the power of Clojure
> Another example is Specter. Specter is a generically useful library for querying and manipulating data structures
> https://github.com/redplanetlabs/specter/tree/master/src
> MutableCell.Java. 8 years ago
package com.rpl.specter;
-
Why your F# evangelism isn't working
If you are truly interested in understanding my point of view -- a great way to do it would be to learn how to use this Clojure DSL: https://github.com/redplanetlabs/specter
-
Digging into deeply nested sequence in Clojure
For deeply nested data, use specter https://github.com/redplanetlabs/specter
-
Advent of Code inside the REPL
Yes :), I needed a fast dijkstra implementation to solve a puzzle in 2021. A pure clojure implementation was too slow so i built one on top of this https://github.com/redplanetlabs/specter
-
Lisp feature - domain specific language
https://github.com/redplanetlabs/specter (very powerful way to express modifications to nested data)
-
Working with large maps
Don't forget about specter which is efficient and compact due to its DSL.
- How to modify a nested element of a list
- Making a small change to a big data structure in Clojure
-
Nested mapping?
Learn and use specter for nested data manipulation, will take some studying but is a more general solution (https://github.com/redplanetlabs/specter)
What are some alternatives?
Demos and Examples in Scala (Chinese) - scala、spark使用过程中,各种测试用例以及相关资料整理
clojure-graph-resources - A curated list of Clojure resources for dealing with graph-like data.
Deploying Scala libraries to Sonatype for dummies - Deploying scala libraries to central for dummies
meander - Tools for transparent data transformation
CA Art - Learn Cellular Automata through generative art
fulcro - A library for development of single-page full-stack web applications in clj/cljs