Fork me on GitHub
#specter
<
2017-03-11
>
firesofmay19:03:50

Hi, I am interested in contributing to specter. Just for fun/learning. But I am not sure which issue I should pick. I don't know where to begin with the issues already opened. Can someone point me to a good starting bug? Thanks

nathanmarz19:03:40

@firesofmay thanks for the contribution you already made

firesofmay19:03:27

@nathanmarz thanks for your contributions to so many projects 🙂

nathanmarz19:03:35

there's not too much to be added to specter at the moment, I took care of most of the open issues for 1.0

nathanmarz19:03:44

this is probably the most self-contained issue: https://github.com/nathanmarz/specter/issues/183

nathanmarz19:03:24

the most important improvement I'm targeting for next version is https://github.com/nathanmarz/specter/issues/72

nathanmarz19:03:02

but that one is pretty difficult due to needing to have some understanding of what's going on in the inline compiler

nathanmarz19:03:19

plus the complexity of targeting three platforms simultaneously

nathanmarz19:03:04

probably won't be very much code, but will require understanding some of the inline compiler

nathanmarz19:03:49

that one is much easier than the ones that deal with the inline compiler

nathanmarz19:03:01

just need to re-implement protocol paths in terms of primitives shared between cljs and clj

firesofmay19:03:29

I haven't tried protocol for cljs. Any reference doc?

nathanmarz19:03:11

that lists the differences

firesofmay19:03:13

Also in Regex navigator Can you share input output examples?

nathanmarz19:03:28

the main difference is lack of extend function, which is what Specter currently uses for protocol paths

nathanmarz19:03:30

(setval (regex-all #"aa*") "Q" "aaabcaad") ;; => "QbcQd"

nathanmarz19:03:12

and this too: (setval (regex-first #"aa*") "Q" "aaabcaad") ;; => "Qbcaad"

firesofmay19:03:37

This looks interesting. And a bit more easy to do I guess. So to implement this functionality where should I start looking at? setval fn?

nathanmarz19:03:17

it would just be a new navigator

nathanmarz19:03:22

using defnav

nathanmarz19:03:33

look at the implementation of existing navigators to see how it works

firesofmay19:03:50

Great. I'll check it out 🙂

firesofmay19:03:47

@nathanmarz Btw I had a question. I noticed in your project.clj file you have (def VERSION (.trim (slurp "VERSION"))) and (defproject com.rpl/specter VERSION What benefit does this provide?

nathanmarz19:03:33

@firesofmay if I have submodules in the project, that makes it easy to have them all share the same version

nathanmarz19:03:50

like if there were a specter-graph module with navigators for working with graphs

firesofmay19:03:24

@nathanmarz Ah they all just point to the same file and you just have to bump one single file. Make sense