gabrielgatu

gabrielgatu

Hi everyone!

Today is a special day for me: it starts officially the Google Summer of Code, and in the meantime I’m here in Barcelona, chilling with some good coffee and writing this short introduction to my project :slight_smile:

My name is Gabriel Gatu, and this summer I’ll be working on dialyzer, to try and implement a library for the elixir ecosystem that could be merged inside the elixir standard lib.

This project is under the supervision of Sean Cribbs and Jose Valim, my mentors for this task. You can find more infos about this project here:

I’m sure you’ll have a lot of questions, so I’ve tried to answer to the most common ones in the Readme of the project.

But, first of all, I would like to state that by no means I’m an expert on dialyzer, so any help/suggestion/improvement/mentorship is highly welcomed! ;D

Finally, I would like to thank all the people that contributed in these years to the dialyzer integration story for elixir, without you my work would be much harder, so I look forward to learn as much as I can from you!

If you have any question or would like to discuss together some ideas, I would be glad to talk about this with you!

Showing Posts 1 to 8

dimitarvp

dimitarvp

This is one of the threads that gives good bits of info.

AstonJ

AstonJ

The dialyzer tag might be worth a look too :003:

Awesome :023: we shall look forward to your updates :smiley:

jxub

jxub

Hi @gabrielgatu :wave:, nice to meet a fellow GSoC’er :smile:. It seems like you’ve got quite an interesting challenge and the README looks really good!

Let me also use the thread to introduce myself :wink: I’m Jakub and I’ve just started working on BarrelEx, an Elixir API for BarrelDB, an distributed document-oriented database written in Erlang, and I’m mentored by Benoît Chesneau, its creator.

I’ve already covered around 50% of the API, and still need to add more test coverage as well as through documentation. The code is hosted on Gitlab due to its superior CI story but you can also see the Github mirror here https://github.com/jxub/barrel_ex

idi527

idi527

Sorry for an off-topic but I’ve worked a bit lately on gitlab, and had a really bad experience with almost everything on their platform. The pushes were extremely slow, the website constantly hanged, the CI workers were in “pending” state for tens of minutes …

So if you don’t self-host a gitlab server, github is much easier to use, in my experience. And http://semaphoreci.com/ provides free CI for open source projects with great elixir support, no “pending” jobs, and simpler configs.

jxub

jxub

Thanks for sharing your experience, I will discuss this issue with my mentor.

The builds are a bit slow, averaging 10 minutes at the moment, and it’s kind of bugging me so I might have a look at SemaphoreCI.
At the moment the other reason why I use Gitlab is that the rest of the code for the Barrel-db project is already there barrel-db · GitLab
Don’t worry about going off tangent as it was already a bit of an off-topic :stuck_out_tongue:

tmbb

tmbb

Will this be based on dializer or are you going to write your typechecker from scratch? Will you use successs typing only, or would you be open to something like untagged unions and intersection types?

christhekeele

christhekeele

My understanding is the project means to better integrate dialyzer’s success typing with Elixir and mix, not re-implement it.

In particular, I am pretty sure they are trying to add builtin mix commands capable of faster, incremental dialyzer runs; and improve the error messages it gives from its current cryptic literal success-typing messages to the more friendly and instructive ones we are used to in Elixir, with examples/suggestions around common mistakes.

gabrielgatu

gabrielgatu OP

Hey jxub, nice to meet you as well and I hope you’re progressing well :smiley:
Also thanks to @christhekeele, you’ve really nailed it :slight_smile:

It’s been pretty much 1 month I’ve been working on mix-dialyzer, and I have some nice news: now mix_dialyzer is in an apha stage, where you can use it to analyse your projects based on a configuration file, get informations about your project status and manage the artefacts generated.

Inside, it already caches some common things, although I still have to implement a proper caching system.

I’ve also published a doc page, explaining every implemented functionality in detail, you can find it here: mix-dialyzer/doc at master · gabrielgatu/mix-dialyzer · GitHub

Let me know if you have any question or suggestion to make things better :smiley:

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews