Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 04 20:16
    rossabaker commented #108
  • Jan 04 18:38
    ChristopherDavenport commented #108
  • Jan 04 18:38
    ChristopherDavenport edited #108
  • Jan 04 18:38
    ChristopherDavenport edited #108
  • Jan 04 18:38
    ChristopherDavenport edited #108
  • Jan 04 18:35
    ChristopherDavenport edited #108
  • Jan 04 18:35
    ChristopherDavenport edited #108
  • Jan 04 18:33
    ChristopherDavenport edited #108
  • Jan 02 15:11
    larsrh edited #106
  • Jan 02 15:11
    larsrh edited #106
  • Dec 22 2020 22:59
    cquiroz commented #108
  • Dec 22 2020 22:49
    rossabaker commented #108
  • Dec 12 2020 12:16
    larsrh edited #106
  • Dec 12 2020 12:13
    larsrh edited #106
  • Dec 12 2020 12:12
    larsrh edited #106
  • Dec 12 2020 12:12
    larsrh edited #106
  • Dec 09 2020 22:16
    cquiroz commented #108
  • Dec 06 2020 09:24
    larsrh edited #106
  • Dec 06 2020 09:24
    larsrh edited #106
  • Dec 06 2020 09:16
    larsrh edited #106
Rob Norris
@tpolecat
You could certainly make a guess at how to fulfill a type, based on looking at a bunch of other programs.
Gavin Bisesi
@Daenyth

such a thing could be pretty trainable too.

Imagine hoogle but using a massive corpus of codebases. Put in the signature you want and it will find matching ones from the corpus, show them to you to select. Want to pick an impl? Insert an import to the library automatically and call it, or auto-add it as a project dep and do the same, or auto-inline it

Rob Norris
@tpolecat
But there are a hell of a lot of functions from Int => Int
Gavin Bisesi
@Daenyth
Sure, but if you're implementing a function of such a signature, why would you try to generate it?
A signature that simple would get implemented because you need a specific rule
Rob Norris
@tpolecat
I can't really see it, but I have never done any modern AI work.
Gavin Bisesi
@Daenyth
but re: that corpus idea, I know there's already sites at least for java that let you search for a function by name from a library and it scans github etc for code snippets that call that function
I don't imagine this being "AI" in that way. More of a rules engine + database + constraint solver
score possible answers with simple weights, make a cutoff point, display for the user to take action on
I'm not going to get into the whole "is a rules engine AI" thing
Adam Rosien
@arosien
there's a company that gives you an ai-powered IDE plugin, lemme find the link
Ross A. Baker
@rossabaker
Pshaw. My IDE has had M-x doctor for at least a couple decades!
Adam Rosien
@arosien
it is known.
posco
@posco:matrix.org
[m]
yeah, there is work on autocomplete based on sequence prediction, so you can start typing some code and it starts to fill it in… you can imagine leveraging type information and test constraints and sequence prediction, and it work pretty well, fairly soon.
of course, I think FP works better in this context since you can combine sequence prediction (generating source code), with the compiler restricting the set of possible valid programs.
you can imagine a generative approach where you use the compiler as an oracle, so you take code from GitHub, remove some trailing bit of a function, then predict completions that will compile.
combining that with a prompt of comment code describing how the function should work, and some text examples, I think it is probably totally possible right now to make ML assisted IDE that substantially reduces the effort to write the code.
Next they really need to attack the hard problem: getting it to manage the build for you. :)
Ross A. Baker
@rossabaker
Is anybody using sbt-spiewak seeing empty mimaPreviousVersions? It tries to infer them from tags, but ours has an empty set and just bit us.
[insert comment about source dependencies here]
peterstorm
@peterstorm:matrix.org
[m]
isovector in the Haskell community also made some pretty cool type hole autocompletion stuff for hls, so it’s definitely doable
Adam Rosien
@arosien
FYI chris birchall has a typed holes plugin: https://github.com/cb372/scala-typed-holes
nafg
@nafg
Latest intellij already orders autocomplete by AI
@tpolecat speaking of dependent languages, and recalling that you expressed annoyance about repetition between match types and corresponding implementation, have you seen this?
@tpolecat if your time is short skip to https://youtu.be/t4yJCDB-_H4?t=1439
Rob Norris
@tpolecat
cool i'll check it out
Emily Pillmore
@emilypi
cool beans
Yilin Wei
@yilinwei
@rossabaker I'm all in on Nix as well - but I've found language support to be lacking in the languages that I'm using.
I quite like how the emacs community one is set up.
Ross A. Baker
@rossabaker
I've had pretty good luck with it most everywhere but the JVM.
Yilin Wei
@yilinwei
@Daenyth There was quite an interesting talk on mini-kanren I think which used a different approach. Like a prolog engine for functions.
Yilin Wei
@yilinwei
@rossabaker It's probably just my luck then. I'm surprised you have issues with the JVM though.
Ross A. Baker
@rossabaker
I use it to manage my JDK, but I haven't ever relied on it to resolve my jars, or for source dependencies.
I primarily use it for Haskell.
I also use it for some Go and Ruby dependencies I don't want to learn more about. And it's my primary package manager for system tools, and for my dotfiles. And of course my Emacs. :smile:
Christopher Davenport
@ChristopherDavenport
Thoughts on something like this?
https://gist.github.com/ChristopherDavenport/2b067138ebad8c4fcf5c6cc9819cefe8 - Just a basic rate-limiter implementation. Not sure if its worth it to put somewhere though.
Basically a rolling window out the back. Could likely just count the strikes against people for hitting again when already at the end. But it should work in a distributed fashion and apply to http4s with something simple either a user identifier or ip
Yilin Wei
@yilinwei
@ChristopherDavenport it's a pity there's no real /contrib concept in Scala.
Christopher Davenport
@ChristopherDavenport
It's complicated how to string together a ton of small ideas. If you have some big idea it's fairly simple, but what to do with all the small things gets complicated.
Jakub Kozłowski
@kubukoz
Not really related to typelevel, but a member of the scala community needs our help and I was hoping for some support (even RTs!) from the good people here: https://twitter.com/Oleksandra_A/status/1346484655223169031 (you can read the full story in the attached medium post)
posco
@posco:matrix.org
[m]
posco
@posco:matrix.org
[m]
here is an example of the manual changes i needed to make after the scala fix: https://github.com/johnynek/bosatsu/pull/649/commits/eb4453d0a333f6609250f7e08e84bbcf48267fe0
Ross A. Baker
@rossabaker
An alternative approach to just sit and wait for Martijn to send you a PR!
But seriously, I'm delighted how smoothly such big changes went, and I like the new API.
Colt Frederickson
@coltfred
I can't seem to find the google foo to answer my question. Where did the scala.tools stuff get moved to in 2.13? I'm way behind on migrating some of our projects to 2.13 and I need something from scala.tools.nsc and it's not found without an explicit dependency but I can't figure out where that got moved to.
Seth Tisue
@SethTisue
@coltfred (see scala/scala)
Colt Frederickson
@coltfred
@SethTisue I'm there. You're kind to help. :D
Emily Pillmore
@emilypi
@kubukoz whoa thanks for sharing that. It's good to see they got help