Skip to content

Commit 5748ce4

Browse files
committed
Switch to external intcode package
1 parent 13bf93e commit 5748ce4

20 files changed

+125
-572
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ $ cabal run Day01
3939

4040
## Intcode Interpreter
4141

42-
A few of my solutions rely on a common Intcode interpreter: [Intcode.hs](https://github.com/glguy/advent2019/blob/master/common/Advent/Intcode.hs)
42+
A few of my solutions rely on a Intcode interpreter library that I have extracted from this repository now that the contest is complete: [Intcode.hs](https://github.com/glguy/intcode/blob/master/src/Intcode.hs)
4343

4444
## Common libraries used
4545

advent2019.cabal

+17-11
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ maintainer: [email protected]
1111
copyright: 2019 Eric Mertens
1212
build-type: Simple
1313

14+
common intcode
15+
build-depends: intcode ^>= 0.2,
16+
1417
library
1518
hs-source-dirs: common
1619
default-language: Haskell2010
@@ -22,9 +25,6 @@ library
2225
Advent.Search
2326
Advent.Queue
2427
Advent.Visualize
25-
Advent.Intcode
26-
Advent.Intcode.Trace
27-
Advent.Intcode.Conduino
2828

2929
build-depends:
3030
base ^>= 4.13,
@@ -49,14 +49,8 @@ test-suite doctests
4949
directory ^>= 1.3,
5050
filepath ^>= 1.4,
5151

52-
executable Breakout
53-
main-is: Breakout.hs
54-
ghc-options: -threaded
55-
build-depends: advent2019, base, conduino, transformers, containers, vty
56-
hs-source-dirs: execs
57-
default-language: Haskell2010
58-
5952
executable IntcodeConsole
53+
import: intcode
6054
main-is: IntcodeConsole.hs
6155
ghc-options: -threaded
6256
build-depends: advent2019, base, transformers, containers, megaparsec, ansi-terminal
@@ -65,11 +59,12 @@ executable IntcodeConsole
6559

6660
executable Day01
6761
main-is: Day01.hs
68-
build-depends: advent2019, base,
62+
build-depends: advent2019, base
6963
hs-source-dirs: execs
7064
default-language: Haskell2010
7165

7266
executable Day02
67+
import: intcode
7368
main-is: Day02.hs
7469
build-depends: advent2019, base
7570
hs-source-dirs: execs
@@ -88,6 +83,7 @@ executable Day04
8883
default-language: Haskell2010
8984

9085
executable Day05
86+
import: intcode
9187
main-is: Day05.hs
9288
build-depends: advent2019, base, containers
9389
hs-source-dirs: execs
@@ -100,6 +96,7 @@ executable Day06
10096
default-language: Haskell2010
10197

10298
executable Day07
99+
import: intcode
103100
main-is: Day07.hs
104101
build-depends: advent2019, base, containers
105102
hs-source-dirs: execs
@@ -112,6 +109,7 @@ executable Day08
112109
default-language: Haskell2010
113110

114111
executable Day09
112+
import: intcode
115113
main-is: Day09.hs
116114
build-depends: advent2019, base, containers
117115
hs-source-dirs: execs
@@ -124,6 +122,7 @@ executable Day10
124122
default-language: Haskell2010
125123

126124
executable Day11
125+
import: intcode
127126
main-is: Day11.hs
128127
build-depends: advent2019, base, containers
129128
hs-source-dirs: execs
@@ -136,6 +135,7 @@ executable Day12
136135
default-language: Haskell2010
137136

138137
executable Day13
138+
import: intcode
139139
main-is: Day13.hs
140140
build-depends: advent2019, base, containers
141141
hs-source-dirs: execs
@@ -148,6 +148,7 @@ executable Day14
148148
default-language: Haskell2010
149149

150150
executable Day15
151+
import: intcode
151152
main-is: Day15.hs
152153
build-depends: advent2019, base
153154
hs-source-dirs: execs
@@ -160,6 +161,7 @@ executable Day16
160161
default-language: Haskell2010
161162

162163
executable Day17
164+
import: intcode
163165
main-is: Day17.hs
164166
build-depends: advent2019, base, containers
165167
hs-source-dirs: execs
@@ -172,6 +174,7 @@ executable Day18
172174
default-language: Haskell2010
173175

174176
executable Day19
177+
import: intcode
175178
main-is: Day19.hs
176179
build-depends: advent2019, base
177180
hs-source-dirs: execs
@@ -184,6 +187,7 @@ executable Day20
184187
default-language: Haskell2010
185188

186189
executable Day21
190+
import: intcode
187191
main-is: Day21.hs
188192
build-depends: advent2019, base
189193
hs-source-dirs: execs
@@ -196,6 +200,7 @@ executable Day22
196200
default-language: Haskell2010
197201

198202
executable Day23
203+
import: intcode
199204
main-is: Day23.hs
200205
build-depends: advent2019, base, containers
201206
hs-source-dirs: execs
@@ -208,6 +213,7 @@ executable Day24
208213
default-language: Haskell2010
209214

210215
executable Day25
216+
import: intcode
211217
main-is: Day25.hs
212218
build-depends: advent2019, base
213219
hs-source-dirs: execs

common/Advent.hs

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# Language OverloadedStrings #-}
12
module Advent
23
( module Advent
34
, satisfy, anySingle, sepBy, manyTill
@@ -142,3 +143,6 @@ chunks _ [] = []
142143
chunks n xs =
143144
case splitAt n xs of
144145
(a,b) -> a : chunks n b
146+
147+
memoryParser :: Parser [Int]
148+
memoryParser = number `sepBy` ","

0 commit comments

Comments
 (0)