# \#source

**URL:** https://forum.elixirforum.com/tag/source/2814.md

[Latest](https://forum.elixirforum.com/latest.md) · [Categories](https://forum.elixirforum.com/categories.md) · [Tags](https://forum.elixirforum.com/tags.md)

---

## [Recode - A linter with autocorrection and a refactoring tool](https://forum.elixirforum.com/t/recode-a-linter-with-autocorrection-and-a-refactoring-tool/48793)

<div class="topic-metadata">

**Author:** [@Marcus](https://forum.elixirforum.com/u/Marcus)\
**Replies:** 8\
**Last updated:** [December 26, 2024, 2:21pm UTC](https://forum.elixirforum.com/t/recode-a-linter-with-autocorrection-and-a-refactoring-tool/48793 "2024-12-26T14:21:11Z")

</div>

Recode is an experimental package to lint, autocorrect and refactor code. The package uses the great Sourceror library by @dorgan. So far, there are only a small number of autocorrections and just one refactoring comman…

---

## [Compiling Elixir from source, existing fully functional binaries - what next?](https://forum.elixirforum.com/t/compiling-elixir-from-source-existing-fully-functional-binaries-what-next/61487)

<div class="topic-metadata">

**Author:** [@calebjosue](https://forum.elixirforum.com/u/calebjosue)\
**Replies:** 2\
**Last updated:** [February 7, 2024, 12:50am UTC](https://forum.elixirforum.com/t/compiling-elixir-from-source-existing-fully-functional-binaries-what-next/61487 "2024-02-07T00:50:05Z")

</div>

Hello there all, If you are using Debian 12 (Bookworm) then you have access to elixir 1.14.0 from the official packages. I wanted to install elixir 1.16.1 After installing erlang 26, and downloading Elixir following t…

---

## [Why is \`Kernel.then/2\` defined as a macro?](https://forum.elixirforum.com/t/why-is-kernel-then-2-defined-as-a-macro/56682)

<div class="topic-metadata">

**Author:** [@Aetherus](https://forum.elixirforum.com/u/Aetherus)\
**Replies:** 4\
**Last updated:** [June 26, 2023, 3:15am UTC](https://forum.elixirforum.com/t/why-is-kernel-then-2-defined-as-a-macro/56682 "2023-06-26T03:15:37Z")

</div>

Just out of curiosity. Why is Kernel.then/2 a macro instead of a normal function? Here’s the source code of Kernel.then/2: defmacro then(value, fun) do quote do unquote(fun).(unquote(value)) end end Here’s wha…

---

## [Sourceror - Utilities to work with Elixir source code](https://forum.elixirforum.com/t/sourceror-utilities-to-work-with-elixir-source-code/40003)

<div class="topic-metadata">

**Author:** [@dorgan](https://forum.elixirforum.com/u/dorgan)\
**Replies:** 14\
**Last updated:** [February 5, 2023, 2:14am UTC](https://forum.elixirforum.com/t/sourceror-utilities-to-work-with-elixir-source-code/40003 "2023-02-05T02:14:19Z")

</div>

Now that the next Elixir version will add Code.quoted\_to\_algebra/2 and Code.string\_to\_quoted\_with\_comments/2, we’re able to take some source code, parse it, change it and turn it back to formatted text. There are a coupl…

---

## [Dedicated type for Stream - Why I think a stream is not an enumerable](https://forum.elixirforum.com/t/dedicated-type-for-stream-why-i-think-a-stream-is-not-an-enumerable/44112)

<div class="topic-metadata">

**Author:** [@Ninigi](https://forum.elixirforum.com/u/Ninigi)\
**Replies:** 16\
**Last updated:** [November 26, 2021, 7:32pm UTC](https://forum.elixirforum.com/t/dedicated-type-for-stream-why-i-think-a-stream-is-not-an-enumerable/44112 "2021-11-26T19:32:50Z")

</div>

As an example I picked a random function in the Stream module @spec chunk\_every(Enumerable.t(), pos\_integer) :: Enumerable.t() def chunk\_every(enum, count), do: chunk\_every(enum, count, count, \[\]) Returns an Enumer…
