Skip to content

update deprecated code to make it work with elixir 0.13 #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions lib/data/dictionary.ex
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ defprotocol Data.Dictionary do
end

defimpl Data.Dictionary, for: List do

require Record

def get(self, key, default \\ nil) do
case :lists.keyfind(key, 1, self) do
{ ^key, value } ->
Expand Down Expand Up @@ -60,10 +63,12 @@ defimpl Data.Dictionary, for: List do
end

def keys(self) do
lc { key, _ } inlist self, do: key
for { key, _ } <- self, do: key
#lc { key, _ } inlist self, do: key
end

def values(self) do
lc { _, value } inlist self, do: value
for { _, value } <- self, do: value
#lc { _, value } inlist self, do: value
end
end
6 changes: 4 additions & 2 deletions lib/data/dictionary/balanced_tree.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
# 0. You just DO WHAT THE FUCK YOU WANT TO.

defmodule Data.Dictionary.BalancedTree do
defrecordp :wrap, __MODULE__, dict: nil
require Record

Record.defrecordp :wrap, __MODULE__, dict: nil

def new do
wrap(dict: :gb_trees.empty)
Expand Down Expand Up @@ -100,7 +102,7 @@ defmodule Data.Dictionary.BalancedTree do
end

defmodule Sequence do
defrecordp :seq, __MODULE__, iter: nil
Record.defrecordp :seq, __MODULE__, iter: nil

def new(dict) do
seq(iter: :gb_trees.iterator(dict))
Expand Down
4 changes: 3 additions & 1 deletion lib/data/dictionary/standard.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
# 0. You just DO WHAT THE FUCK YOU WANT TO.

defmodule Data.Dictionary.Standard do
defrecordp :wrap, __MODULE__, dict: nil
require Record

Record.defrecordp :wrap, __MODULE__, dict: nil

def new do
wrap(dict: :dict.new)
Expand Down
4 changes: 2 additions & 2 deletions lib/data/exceptions.ex
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ defexception Data.Empty, message: "the data is empty"
defexception Data.OutOfBounds, message: "out of bounds"

defexception Data.Missing, key: nil, what: nil do
def message(Data.Missing[key: key]) when key != nil do
def message( key ) when key != nil do
"key missing: #{inspect key}"
end

def message(Data.Missing[what: what]) when what != nil do
def message( what ) when what != nil do
"#{inspect what} is missing"
end
end
4 changes: 2 additions & 2 deletions lib/data/queue/simple.ex
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ defmodule Data.Queue.Simple do
@moduledoc """
A simple and performant queue.
"""

require Record
@opaque t :: record
@type v :: any

defrecordp :queue, __MODULE__, enqueue: [], dequeue: []
Record.defrecordp :queue, __MODULE__, enqueue: [], dequeue: []

@doc """
Creates an empty queue.
Expand Down
3 changes: 2 additions & 1 deletion lib/data/queue/standard.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
# 0. You just DO WHAT THE FUCK YOU WANT TO.

defmodule Data.Queue.Standard do
defrecordp :wrap, __MODULE__, queue: nil
require Record
Record.defrecordp :wrap, __MODULE__, queue: nil

def new do
wrap(queue: :queue.new)
Expand Down
6 changes: 4 additions & 2 deletions lib/data/seq.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# 0. You just DO WHAT THE FUCK YOU WANT TO.

defmodule Data.Seq do
require Record
@type t :: Data.Sequence.t | Data.Sequenceable.t | Data.Listable.t

alias Data.Sequence, as: S
Expand All @@ -20,7 +21,8 @@ defmodule Data.Seq do
end

defmodule WithIndex do
defrecordp :wrap, __MODULE__, index: 0, seq: nil

Record.defrecordp :wrap, __MODULE__, index: 0, seq: nil

alias Data.Sequence, as: S

Expand Down Expand Up @@ -537,7 +539,7 @@ defmodule Data.Seq do
def join(seq, string) do
[first | rest] = map seq, &[string, to_string(&1)]

[tl(first), rest] |> iolist_to_binary
[tl(first), rest] |> iodata_to_binary
end

@spec group_by(t, (term -> term)) :: Data.Dict.t
Expand Down
3 changes: 2 additions & 1 deletion lib/data/set/balanced_tree.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@
# 0. You just DO WHAT THE FUCK YOU WANT TO.

defmodule Data.Set.BalancedTree do
require Record
@opaque t :: record
@type v :: any

defrecordp :wrap, __MODULE__, set: nil
Record.defrecordp :wrap, __MODULE__, set: nil

def new do
wrap(set: :gb_sets.new)
Expand Down
3 changes: 2 additions & 1 deletion lib/data/set/standard.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
# 0. You just DO WHAT THE FUCK YOU WANT TO.

defmodule Data.Set.Standard do
defrecordp :wrap, __MODULE__, set: nil
require Record
Record.defrecordp :wrap, __MODULE__, set: nil

def new do
wrap(set: :sets.new)
Expand Down
5 changes: 3 additions & 2 deletions lib/data/stack/simple.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@
# 0. You just DO WHAT THE FUCK YOU WANT TO.

defmodule Data.Stack.Simple do
require Record

@moduledoc """
A simple stack.
"""

@opaque t :: record
@type v :: any

defrecordp :stack, __MODULE__, list: []
Record.defrecordp :stack, __MODULE__, list: []

@doc """
Creates an empty stack.
Expand Down
2 changes: 1 addition & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ defmodule Datastructures.Mixfile do
def project do
[ app: :datastructures,
version: "0.0.1",
elixir: "~> 0.12.3",
elixir: "~> 0.13.0",
deps: deps ]
end

Expand Down