> Banana-RDF contains a more general library to work with RDF from Scala. It allows different underlying implementations like Jena and Sesame. A long term project will be to unify our work with that library.
With #Java's evolution (discriminated unions, pattern matching, virtual threads), are #Scala / #Kotlin still worth it?
Scala & Kotlin have a culture of doing things at compile-time, the former more so than the latter.
This yields safety & expressiveness, and is reflected in features that Java will never implement, in platforms that it will never target well, or in paradigms it will never embrace.
Java is still Java, and you're stuck with Spring, Hibernate, and Jackson, sorry.
Anyone else getting tired of #Rust getting the credit for (G)ADTs?
No? Just me?
#ocaml, #haskell, #StandardML, and #scala among others had this long before Rust and without the complexity of the borrow checker or lifetimes. Rust moves this concept of type system as bug prevention system forward for systems programming, but there is a long history of good compilers (targeting application development, not systems) that did this already (and in a few cases - better!). I am tiring of the narrative that Rust is the ”only memory safe language"...
#scala be like: oh no, ecosystem is too broken with many silos, 3 different effect libraries is too much, people can't decide, monads are too hard...
Scala solution: let's introduce a whole new thing called direct style, there's now 7 new libraries, competing against the previous 3 and std Futures. We are even working on effect things in a different way which will introduce 2 more ways to think about it!
Everybody else: yeah, tks but no, don't what deal with that craziness 😱😐
i wish #spark had native UDFs, or whatever you’d call this:
@native_udf
def add_n(c: Column: n: Column) -> Column:
return c + n
you can easily make #python or #scala functions like that today, but you can’t reference them from #sql. i prefer them when possible in python bc they run natively. even in scala, strings aren’t converted to utf16 so it’s a win there too. they’re just a bit awkward when improving large chunks of SQL
Yesterday afternoon I presented the @ietf's upcoming HTTPSig protocol to the @w3c Solid Community Group.
I illustrated it by running my #scala crawler on #BigData published as Linked Data Event Streams (#LDES) protected with #SolidProject access control rules. (financed with the help of @NGIZero).
Note an early version of the IETF HttpSig protocol is used by #mastodon)
After hearing good things about scalatags, reading the readme I almost walked away when I saw the changelog with latest version being 0.7.0 adding support for scala 2.13. I was literally thinking it was dead and nobody worked on it for #scala 3 for example... 😮💨
Well turns out that if you open github you see that it actually was tagged a version 0.13.1 and the changelog hidden in a file is getting updated.
But the official docs website doesn't have any recent updates! 😨
This language (that I only became aware today) seems the most similar to #scala syntax wise compared to the more recent new age langs that are targeting #wasm.
Also says it wants a "blend of fp" and bring it to more mainstream ppl.
Some obvious extras or improvements seem to come from #rust (at least on a quick look) which are nice.
But, the more the merrier, #FunctionalProgramming languages, static strong typed (it seems).
A weird thing about being 50 is that there are programming languages that I've used regularly for longer than some of the software developers I work with have been alive. I first wrote BASIC code in the 1980s. The first time I wrote an expression evaluator--a fairly standard programming puzzle or homework--was in 1990. I wrote it in Pascal for an undergraduate homework assignment. I first wrote perl in the early 1990s, when it was still perl 4.036 (5.38.2 now). I first wrote java in 1995-ish, when it was still java 1.0 (1.21 now). I first wrote scala, which I still use for most things today, in 2013-ish, when it was still scala 2.8 (3.4.0 now). At various times I've been "fluent" in 8086 assembly, BASIC, C, Pascal, perl, python, java, scala; and passable in LISP/Scheme, Prolog, old school Mathematica, (early days) Objective C, matlab/octave, and R. I've written a few lines of Fortran and more than a few lines of COBOL that I ran in a production system once. I could probably write a bit of Haskell if pressed but for some reason I really dislike its syntax so I've never been enthusiastic about learning it well. I've experimented with Clean, Flix, Curry, Unison, Factor, and Joy and learned bits and pieces of each of those. I'm trying to decide whether I should try learning Idris, Agda, and/or Lean. I'm pretty sure I'm forgetting a few languages. Bit of 6502 assembly long ago. Bit of Unix/Linux shell scripting languages (old enough to have lived and breathed tcsh before switching to bash; I use fish now mostly).
When I say passable: in graduate school I wrote a Prolog interpreter in java (including parsing source code or REPL input), within which I could run the classic examples like append or (very simple) symbolic differentiation/integration. As an undergraduate I wrote a Mathematica program to solve the word recognition problem for context-free formal languages. But I'd need some study time to be able to write these languages again.
I don't know what the hell prompted me to reminisce about programming languages. I hope it doesn't come off as a humblebrag but rather like old guy spinning yarns. I think I've been through so many because I'm never quite happy with any one of them and because I've had a varied career that started when I was pretty young.
I guess I'm also half hoping to find people on here who have similar interests so I'm going to riddle this post with hashtags:
We also discovered that they (Generational References) enable Vale to have complete memory safety, something no native language has been able to achieve.
I still can't wrap my head around the #Lichess chess server being built in Scala 3 and using Typelevel libraries, in an #FP style. This chess server is insanely popular.
The combination of #Scala version 3 and #Typelevel#Cats and #Kittens is pretty neat. "Kittens" is a library that has derived type classes for Cats. I just learned about Kittens yesterday. "Kittens" uses #Shapeless libraries underneath.
Been having fun with #gleamlang , made more than a hundred lines of code with it. It's really refreshing having a language that compiles fast and takes barely any memory and cpu to run.
Not having to care about the build tool too much, hundreds of compiler flags, language versions, compiler plugins, formatting plugins, or any of the usual things that fill the brain I'm used to in #scala is a huge breath of fresh air.