Fork me on GitHub

Sounds like the ClojureD conference in Germany was a great time. I'm jealous! I'm excited for when I can check out one of these conferences. They almost always post videos of these talks right?


if anyone is super bored I'm trying to implement this function and am having trouble. use whatever language you want


Interesting problem


(defn pop-first-non-sequence-value [s]
  (let [fst (first s)]
    (if (sequential? fst) 
        (let [[rst fst lvl] (pop-first-non-sequence-value fst)
              rst (if (and (sequential? rst) (seq rst))
                      (cons rst (rest s))
                      (rest s))]
          [rst fst (inc lvl)])
        [(rest s) fst 0])))


A bit rough, but that at least solves your examples. Not sure how you'd want it to handle empty lists.


so it does! nice!


I'll be implementing this in a couple languages, so thats very useful, thank you!

👍 5

is anyone using neo4j as an alternative for datomic in their apps?


I wonder how they compare (if you don’t need the time dimension from Datomic)


@quoll had an interesting talk about it yesterday at ClojureD


There are approaches to modelling temporality in neo4j btw


Should I be surprised I don’t see neo4j used a lot in open source Clojure projects? At least that’s my impression


As opposed to datomic open source projects?


I have used neo4j with Clojure. The cypher query language is decent. Neo4j can be run in embedded mode and has a nice traversal API in Java. It’s also extensible via plugins


as opposed to e.g. sqlite or something


are datalog and this cypher query language isomorphic, i.e. would it be possible to write a 1-1 mapping?


I don’t know datalog


@borkdude Neo4j license for oss is quite limiting


What is quite limiting about the community edition? The comparison between community and enterprise edition is here:


No HA for starters


Unless that changed

eccentric J19:02:45

I just saw this got announced, I think it’s relevant to this discussion?


@jayzawrotny That’s what sparked my question: I saw the presentation on ClojureD yesterday 🙂

👌 5

any recommendation on what to learn after clojure? background: learned java/c/python in school, some js as side projects, then clojure professionally until now. so far i love clojure, and hate those c-like languages. but to be fair, i don't have many enterprise experience with them, plus emacs is not the best editor when it comes to writting java.. now i'm hoping to learn a new language to get out of my comfort zone, and hopefully can get fresh perspectives just like when I first learned clojure. so would it be better to install an IDE and go back to dive deep into c#/java/python? or should I look at scala/f#/haskell instead?


Non functional languages feel a bit clunky to me now. Rust has a good balance and tooling is excellent if you want a bit more algol based languages. Else I would probably look into f#


Haskell seems cool but it seems most people just talk about the types and laws rather than what you can actually do with them. (from my perspective anyways)


I'd recommend F# / Haskell if you want to stretch your mind in terms of fancier type systems, and what they can/cannot do for you. Python is good to dive into given awesome library support available, but as far as overall language features I doubt there is much that any of C# / Java / Python would teach you that the others would not (there are differences between them, but less then their similarities I think)


Agree about python too. I really like it's focus on doing cool things and having libraries to help you do lots of stuff


thanks! so sounds like python is a great productive because of its awesome library, where as f#/haskell is a larger paradigm shift?


f#/haskell is less of a paradigm shift for someone accustomed to immutable data structures, as you are from using Clojure. Still a shift, but not like if you were coming from no use of a language that focused on immutable data.


i'll probably go with haskell then, f# doesn't look like it has much of real world usage:thinking_face:


That is backwards in my experience. Way more real world f# than Haskell


Every .net job is a potential f# job. Just toss a new assembly in the project. I've had a job exactly like that.


the same can be said for clojure with java right? the hard part is actually convincing people to let you toss a new assembly there


just did a bit more reading, sounds like f# is clojure + static typing + ml syntax?


F# can much easier live adjacent to a big c# project in my experience


And yeah that description of f# sounds right to me


in terms of learning static typing, would i miss much if I pick f# instead of haskell?


Haskell is at the edge of static type system research/exploration while remaining a language that people get real things done with


Lazy is cool but it's not transferable to other languages. 3 years ago I chose clojure and every single algorithm or play around I've done since has been in that language so that I wouldn't be a tourist in a bunch of languages but live in one. I haven't regretted it. I would choose f# and do only f# (outside of work) for at least a year


@blance Have you gone through Seven Languages In Seven Weeks, and the sequel Seven More...?


this sounds very interesting! i think i'll give it a shot


You’ll learn a lot more about types (and future directions of type systems) in Haskell than you will with F#


My recommendation is whatever language you choose (and it's not very important which) you use it for a year and really learn it rather than looking again in a few months.

👍 10

Rust seems like a cool complement to Clojure. Get to try out some low level, systems programming! Static typing. It's kind of described as Haskell meets C++. Syntax is a bit much for me and compile times are rough but hey, that'll make you appreciate Clojure's elegance and instant repl feedback even more!


Of the languages I've learned "for fun" over the last decade-ish, Go was the only one I was disappointed with. Elm was a lot of fun. Rust was interesting. Kotlin is nice and practical. F# has typed providers which I don't think has been adapted to any other languages and seems like a very useful and powerful feature. I did the University of Washington online course "Programming Languages" to learn Ruby, Racket, and refresh my Standard ML (last time I used that had been in the 80's at university).


In addition, I've done Java, ColdFusion/CFML, Groovy, Scala in production. And lots of Clojure.


Earlier languages I've worked with include Prolog and APL which are both sufficiently different from mainstream languages that I think everyone would learn new stuff from both of them.


(although I never used those in production, I worked at companies that did use them heavily in production -- APL at an insurance company where I mostly did COBOL and assembler; and Prolog at a firm of actuaries where I did C and Parallel C for the Inmos Transputer).


Did they have special keyboards for APL?


thanks for all the input! i don't think i'll go wrong with any of the recommendation here. i'll try out each of the recommended one (and probably more), then dive deep into one


Yup, and special golfball print heads on their teletypes.


Haha that's awesome. It's so neat reading APL


If I was on the Windows/.NET platform instead of Linux/JVM, I think I'd be a fairly hardcore F# user @blance so I think that's a good option, and fairly practical too.


Visual studio is a fantastic product


(if you're on Windows)


how's f# on linux? i don't have a windows machine for development:joy:


i read it's possible, but haven't seen anyone mention if it's as good as on windows machine


I hear much better than when I was on .net.

👍 5

Also I've seen a bit of f# community on Twitter and they seem awesome


Yeah, the F# community is excellent in my limited experience. I attended an F# workshop at a conference several years ago to learn it for fun and the F# folks at the community sort of "adopted me" for the week and made sure I always had company for lunch and dinner.


Partly so they could evangelize F#, I will add 🙂

eccentric J04:02:37

Not a bad strategy, can we steal it?


I think we already did? 🙂

eccentric J04:02:15

Adopted you or or evangelize Clojure by wining and dining local neophytes?


Hahaha... yes, all of the above! 🙂


I just use alcohol.

😆 5