haskell/symantic-parser.git
9 months agowip main
Julien Moutinho [Thu, 4 Nov 2021 16:36:29 +0000 (17:36 +0100)]
wip

9 months agolegal: add license `BSD-3-Clause`
Julien Moutinho [Thu, 28 Oct 2021 21:40:45 +0000 (23:40 +0200)]
legal: add license `BSD-3-Clause`

9 months agoimpl: add attoparsec's Text.Buffer
Julien Moutinho [Thu, 28 Oct 2021 21:34:53 +0000 (23:34 +0200)]
impl: add attoparsec's Text.Buffer

9 months agobuild: update `git-chglog` config
Julien Moutinho [Thu, 4 Nov 2021 16:31:30 +0000 (17:31 +0100)]
build: update `git-chglog` config

9 months agobuild: add `hlint` config
Julien Moutinho [Thu, 4 Nov 2021 16:29:30 +0000 (17:29 +0100)]
build: add `hlint` config

9 months agobuild: move all Nix config to `flake.nix`
Julien Moutinho [Thu, 4 Nov 2021 16:28:01 +0000 (17:28 +0100)]
build: move all Nix config to `flake.nix`

9 months agobuild: update to `symantic-base >= 0.3`
Julien Moutinho [Thu, 28 Oct 2021 00:11:24 +0000 (02:11 +0200)]
build: update to `symantic-base >= 0.3`

9 months agobuild: cleanup Nix files
Julien Moutinho [Sat, 23 Oct 2021 13:54:11 +0000 (15:54 +0200)]
build: cleanup Nix files

9 months agodoc: fix old names
Julien Moutinho [Sat, 23 Oct 2021 13:53:47 +0000 (15:53 +0200)]
doc: fix old names

9 months agobuild: cleanup Makefile
Julien Moutinho [Sat, 23 Oct 2021 13:53:29 +0000 (15:53 +0200)]
build: cleanup Makefile

9 months agobuild: fix Nixpkgs lock
Julien Moutinho [Sat, 23 Oct 2021 13:53:06 +0000 (15:53 +0200)]
build: fix Nixpkgs lock

10 months agodoc: update `ChangeLog.md`
Julien Moutinho [Fri, 8 Oct 2021 00:11:24 +0000 (02:11 +0200)]
doc: update `ChangeLog.md`

10 months agoiface: update release `version`
Julien Moutinho [Thu, 7 Oct 2021 23:11:45 +0000 (01:11 +0200)]
iface: update release `version`

10 months agobuild: add `git-chglog`
Julien Moutinho [Thu, 7 Oct 2021 23:08:54 +0000 (01:08 +0200)]
build: add `git-chglog`

10 months agoimpl: update `symantic-base` dependency
Julien Moutinho [Thu, 7 Oct 2021 22:57:02 +0000 (00:57 +0200)]
impl: update `symantic-base` dependency

10 months agobuild: add checks before `upload`
Julien Moutinho [Fri, 3 Sep 2021 12:53:46 +0000 (14:53 +0200)]
build: add checks before `upload`

11 months agorename {hut => code}.sourcephile.fr
Julien Moutinho [Fri, 3 Sep 2021 12:35:51 +0000 (14:35 +0200)]
rename {hut => code}.sourcephile.fr

11 months agodoc: update
Julien Moutinho [Fri, 3 Sep 2021 12:32:34 +0000 (14:32 +0200)]
doc: update

11 months agodoc: registers are now available
Julien Moutinho [Tue, 31 Aug 2021 19:18:09 +0000 (21:18 +0200)]
doc: registers are now available

11 months agotests: rename {test/ => tests/}
Julien Moutinho [Tue, 31 Aug 2021 19:13:16 +0000 (21:13 +0200)]
tests: rename {test/ => tests/}

11 months agotests: accept
Julien Moutinho [Tue, 31 Aug 2021 19:09:20 +0000 (21:09 +0200)]
tests: accept

11 months agocopyright: comply with REUSE-3.0
Julien Moutinho [Tue, 31 Aug 2021 18:53:05 +0000 (20:53 +0200)]
copyright: comply with REUSE-3.0

12 months agomachine: remove horizonStack and experiment with alwaysRaise master
Julien Moutinho [Thu, 5 Aug 2021 13:36:12 +0000 (15:36 +0200)]
machine: remove horizonStack and experiment with alwaysRaise

12 months agorename {catcher => onException}
Julien Moutinho [Tue, 3 Aug 2021 16:26:21 +0000 (18:26 +0200)]
rename {catcher => onException}

12 months agomachine: make failure be minReads=0
Julien Moutinho [Mon, 2 Aug 2021 16:46:50 +0000 (18:46 +0200)]
machine: make failure be minReads=0

12 months agochange ShowLetName into HideableName
Julien Moutinho [Sat, 31 Jul 2021 12:21:48 +0000 (14:21 +0200)]
change ShowLetName into HideableName

12 months agomachine: normalOrderReduction at the last moment
Julien Moutinho [Fri, 30 Jul 2021 13:07:27 +0000 (15:07 +0200)]
machine: normalOrderReduction at the last moment

12 months agomachine: fix recursion ending
Julien Moutinho [Wed, 28 Jul 2021 14:16:30 +0000 (16:16 +0200)]
machine: fix recursion ending

12 months agoadd registers
Julien Moutinho [Sun, 25 Jul 2021 04:43:08 +0000 (06:43 +0200)]
add registers

Symantic.Parser is now faster than Attoparsec on the Brainfuck benchmarks:

```
$ make benchmarks b=Brainfuck/ByteString/hanoi/'*'

benchmarking Brainfuck/ByteString/hanoi/SymanticParser
time                 11.33 ms   (11.18 ms .. 11.51 ms)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 11.12 ms   (11.03 ms .. 11.20 ms)
std dev              219.9 μs   (164.6 μs .. 301.4 μs)

benchmarking Brainfuck/ByteString/hanoi/Attoparsec
time                 15.38 ms   (15.26 ms .. 15.52 ms)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 15.38 ms   (15.29 ms .. 15.49 ms)
std dev              252.1 μs   (184.3 μs .. 363.2 μs)

benchmarking Brainfuck/ByteString/hanoi/Handrolled
time                 1.608 ms   (1.595 ms .. 1.628 ms)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 1.585 ms   (1.575 ms .. 1.596 ms)
std dev              35.75 μs   (26.53 μs .. 51.66 μs)
variance introduced by outliers: 11% (moderately inflated)
```

13 months agodeps: bump to symantic-base 0.2
Julien Moutinho [Fri, 16 Jul 2021 22:26:13 +0000 (00:26 +0200)]
deps: bump to symantic-base 0.2

13 months agodoc: update
Julien Moutinho [Fri, 16 Jul 2021 22:23:28 +0000 (00:23 +0200)]
doc: update

13 months agodoc: fix license and {def => shareable}
Julien Moutinho [Mon, 12 Jul 2021 10:08:03 +0000 (12:08 +0200)]
doc: fix license and {def => shareable}

13 months agodoc: fix reference to Symantic.Typed
Julien Moutinho [Sun, 11 Jul 2021 22:02:16 +0000 (00:02 +0200)]
doc: fix reference to Symantic.Typed

13 months agouse symantic-base symantic-parser-0.2.0.20210703
Julien Moutinho [Sun, 11 Jul 2021 17:07:46 +0000 (19:07 +0200)]
use symantic-base

13 months agorename Output to Unlifted
Julien Moutinho [Mon, 5 Jul 2021 15:59:01 +0000 (17:59 +0200)]
rename Output to Unlifted

13 months agogrammar: fix Ord SomeFailure
Julien Moutinho [Sun, 4 Jul 2021 02:58:58 +0000 (04:58 +0200)]
grammar: fix Ord SomeFailure

13 months agocabal: clean up
Julien Moutinho [Sun, 4 Jul 2021 02:59:59 +0000 (04:59 +0200)]
cabal: clean up

13 months agoparsers: commit missing file
Julien Moutinho [Sat, 3 Jul 2021 21:08:42 +0000 (23:08 +0200)]
parsers: commit missing file

13 months agobump version
Julien Moutinho [Sat, 3 Jul 2021 21:06:59 +0000 (23:06 +0200)]
bump version

13 months agogrammar: add precedence to showCode
Julien Moutinho [Sat, 3 Jul 2021 19:44:01 +0000 (21:44 +0200)]
grammar: add precedence to showCode

13 months agomachine: optimize ifThenElse on constant
Julien Moutinho [Sat, 3 Jul 2021 18:57:23 +0000 (20:57 +0200)]
machine: optimize ifThenElse on constant

13 months agoclean warnings
Julien Moutinho [Sat, 3 Jul 2021 15:07:57 +0000 (17:07 +0200)]
clean warnings

13 months agomachine: add another joinNext optimization when Jump is next
Julien Moutinho [Sat, 3 Jul 2021 14:41:22 +0000 (16:41 +0200)]
machine: add another joinNext optimization when Jump is next

13 months agorename Symantic.{Univariant => Typed}
Julien Moutinho [Fri, 2 Jul 2021 16:32:04 +0000 (18:32 +0200)]
rename Symantic.{Univariant => Typed}

13 months agoremove useless benchmarks
Julien Moutinho [Fri, 2 Jul 2021 11:36:22 +0000 (13:36 +0200)]
remove useless benchmarks

13 months agoreplace ValueCode by Production
Julien Moutinho [Tue, 29 Jun 2021 07:37:45 +0000 (09:37 +0200)]
replace ValueCode by Production

13 months agodoc: improve a bit the ReadMe.md
Julien Moutinho [Fri, 7 May 2021 12:03:01 +0000 (14:03 +0200)]
doc: improve a bit the ReadMe.md

13 months agoTemplateHaskell: why is PprSplice much faster than DumpSplice?
Julien Moutinho [Thu, 6 May 2021 17:50:03 +0000 (19:50 +0200)]
TemplateHaskell: why is PprSplice much faster than DumpSplice?

$ make benchmarks/prof-time b=Brainfuck/ByteString/hanoi/SymanticParser.PprSplice
benchmarking Brainfuck/ByteString/hanoi/SymanticParser.PprSplice
time                 71.19 ms   (69.66 ms .. 72.58 ms)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 71.91 ms   (71.10 ms .. 73.18 ms)
std dev              1.755 ms   (973.5 μs .. 2.766 ms)

$ make benchmarks/prof-time b=Brainfuck/ByteString/hanoi/SymanticParser.DumpSplice
benchmarking Brainfuck/ByteString/hanoi/SymanticParser.DumpSplice
time                 170.5 ms   (169.7 ms .. 171.0 ms)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 169.4 ms   (168.3 ms .. 169.9 ms)
std dev              1.046 ms   (375.5 μs .. 1.650 ms)
variance introduced by outliers: 12% (moderately inflated)

13 months agoadd benchmarks
Julien Moutinho [Tue, 4 May 2021 14:45:52 +0000 (16:45 +0200)]
add benchmarks

13 months agonix: cleanup
Julien Moutinho [Fri, 30 Apr 2021 10:49:02 +0000 (12:49 +0200)]
nix: cleanup

13 months agotest: update
Julien Moutinho [Fri, 30 Apr 2021 10:46:53 +0000 (12:46 +0200)]
test: update

13 months agomachine: improve comments
Julien Moutinho [Fri, 30 Apr 2021 10:46:06 +0000 (12:46 +0200)]
machine: improve comments

13 months agomachine: fix view and output
Julien Moutinho [Fri, 30 Apr 2021 10:40:58 +0000 (12:40 +0200)]
machine: fix view and output

13 months agomachine: fix factorize out raiseException
Julien Moutinho [Fri, 30 Apr 2021 10:36:23 +0000 (12:36 +0200)]
machine: fix factorize out raiseException

13 months agomachine: fix mayRaise analysis of catch
Julien Moutinho [Fri, 30 Apr 2021 10:34:42 +0000 (12:34 +0200)]
machine: fix mayRaise analysis of catch

13 months agomore on failures
Julien Moutinho [Tue, 30 Mar 2021 05:54:53 +0000 (07:54 +0200)]
more on failures

13 months agogrammar: sort symantics by name
Julien Moutinho [Fri, 26 Mar 2021 01:17:30 +0000 (02:17 +0100)]
grammar: sort symantics by name

13 months agotest: dump splices using TH.runQ instead of calling ghc
Julien Moutinho [Thu, 25 Mar 2021 01:53:57 +0000 (02:53 +0100)]
test: dump splices using TH.runQ instead of calling ghc

13 months agofix: use a global polyfix for defLet and defRef
Julien Moutinho [Fri, 12 Mar 2021 07:08:09 +0000 (08:08 +0100)]
fix: use a global polyfix for defLet and defRef

13 months agobug: a ref outside its def must be supported
Julien Moutinho [Mon, 1 Mar 2021 16:09:42 +0000 (17:09 +0100)]
bug: a ref outside its def must be supported

13 months agotest: add goldens for TH splices
Julien Moutinho [Mon, 22 Feb 2021 14:20:15 +0000 (15:20 +0100)]
test: add goldens for TH splices

13 months agonix: update nixpkgs to use cabal-install 3.4
Julien Moutinho [Fri, 19 Feb 2021 13:13:03 +0000 (14:13 +0100)]
nix: update nixpkgs to use cabal-install 3.4

13 months agomachine: renames trying to clarify
Julien Moutinho [Fri, 19 Feb 2021 13:08:52 +0000 (14:08 +0100)]
machine: renames trying to clarify

13 months agomachine: map exceptionStack by label
Julien Moutinho [Wed, 17 Feb 2021 09:31:19 +0000 (10:31 +0100)]
machine: map exceptionStack by label

13 months agodoc: polish
Julien Moutinho [Tue, 2 Feb 2021 23:22:34 +0000 (00:22 +0100)]
doc: polish

13 months agochange license to AGPL-3.0-or-later
Julien Moutinho [Sun, 11 Jul 2021 17:13:14 +0000 (19:13 +0200)]
change license to AGPL-3.0-or-later

18 months agodoc: update ToDo symantic-parser-0.1.0.20210201
Julien Moutinho [Mon, 1 Feb 2021 08:23:35 +0000 (09:23 +0100)]
doc: update ToDo

18 months agotest: mute unused-* warnings in TH splices
Julien Moutinho [Mon, 1 Feb 2021 09:04:39 +0000 (10:04 +0100)]
test: mute unused-* warnings in TH splices

18 months agomachine: simplify a bit the horizon checking
Julien Moutinho [Mon, 1 Feb 2021 08:22:06 +0000 (09:22 +0100)]
machine: simplify a bit the horizon checking

18 months agotest: hide unique names for reproductibility
Julien Moutinho [Mon, 1 Feb 2021 08:12:25 +0000 (09:12 +0100)]
test: hide unique names for reproductibility

18 months agotest: sync
Julien Moutinho [Sun, 31 Jan 2021 18:24:46 +0000 (19:24 +0100)]
test: sync

18 months agoRename Machine.{Build => Program}
Julien Moutinho [Sun, 31 Jan 2021 06:20:54 +0000 (07:20 +0100)]
Rename Machine.{Build => Program}

18 months agoReorganize Comb and Instr optimizations
Julien Moutinho [Sun, 31 Jan 2021 05:33:56 +0000 (06:33 +0100)]
Reorganize Comb and Instr optimizations

18 months agodoc: update the ReadMe and ChangeLog
Julien Moutinho [Sun, 31 Jan 2021 01:31:03 +0000 (02:31 +0100)]
doc: update the ReadMe and ChangeLog

18 months agogrammar: open the Comb data-type
Julien Moutinho [Sat, 30 Jan 2021 18:09:34 +0000 (19:09 +0100)]
grammar: open the Comb data-type

18 months agomachine: open the Instr data-type
Julien Moutinho [Fri, 29 Jan 2021 04:43:34 +0000 (05:43 +0100)]
machine: open the Instr data-type

18 months agotest: unique names changed again
Julien Moutinho [Fri, 22 Jan 2021 01:19:49 +0000 (02:19 +0100)]
test: unique names changed again

18 months agoprepare testing splices, but cabal-install-3.4 does not build yet
Julien Moutinho [Fri, 22 Jan 2021 01:18:49 +0000 (02:18 +0100)]
prepare testing splices, but cabal-install-3.4 does not build yet

18 months agoDocument a bit more the horizon checks
Julien Moutinho [Sun, 17 Jan 2021 12:40:33 +0000 (13:40 +0100)]
Document a bit more the horizon checks

18 months agostick to ParsleyHaskell's optimizations, except on pattern-matching at the Haskell...
Julien Moutinho [Sat, 16 Jan 2021 15:40:50 +0000 (16:40 +0100)]
stick to ParsleyHaskell's optimizations, except on pattern-matching at the Haskell.Term level

19 months agotest: save
Julien Moutinho [Sat, 9 Jan 2021 10:29:05 +0000 (11:29 +0100)]
test: save

19 months agotest: save
Julien Moutinho [Fri, 8 Jan 2021 13:32:33 +0000 (14:32 +0100)]
test: save

19 months agotest: save
Julien Moutinho [Fri, 8 Jan 2021 12:54:21 +0000 (13:54 +0100)]
test: save

19 months agomachine: rename InstrPure{Haskell => }
Julien Moutinho [Wed, 6 Jan 2021 05:18:53 +0000 (06:18 +0100)]
machine: rename InstrPure{Haskell => }

19 months agotest: add Nandlang parser
Julien Moutinho [Wed, 6 Jan 2021 05:14:46 +0000 (06:14 +0100)]
test: add Nandlang parser

19 months agotest: add string
Julien Moutinho [Wed, 6 Jan 2021 05:13:53 +0000 (06:13 +0100)]
test: add string

19 months agogrammar: rename Parser.{Haskell => Grammar.Pure}
Julien Moutinho [Wed, 6 Jan 2021 05:13:19 +0000 (06:13 +0100)]
grammar: rename Parser.{Haskell => Grammar.Pure}

19 months agomachine: add horizon optimization
Julien Moutinho [Mon, 4 Jan 2021 01:57:02 +0000 (02:57 +0100)]
machine: add horizon optimization

19 months agoadd missing golden tests in cabal tarball symantic-parser-0.0.0.20210102
Julien Moutinho [Sat, 2 Jan 2021 01:46:31 +0000 (02:46 +0100)]
add missing golden tests in cabal tarball

19 months agomove doc in *.md files symantic-parser-0.0.0.20210101
Julien Moutinho [Fri, 1 Jan 2021 07:58:16 +0000 (08:58 +0100)]
move doc in *.md files

19 months agopolishing before first publising
Julien Moutinho [Fri, 1 Jan 2021 06:31:43 +0000 (07:31 +0100)]
polishing before first publising

19 months agorename cabal flag dump-splice{ => s}
Julien Moutinho [Fri, 1 Jan 2021 06:04:24 +0000 (07:04 +0100)]
rename cabal flag dump-splice{ => s}

19 months agoimprove make upload
Julien Moutinho [Fri, 1 Jan 2021 05:54:30 +0000 (06:54 +0100)]
improve make upload

19 months agoadd more Nix conveniencies
Julien Moutinho [Fri, 1 Jan 2021 05:33:57 +0000 (06:33 +0100)]
add more Nix conveniencies

19 months agofix required GHC version
Julien Moutinho [Fri, 1 Jan 2021 04:53:04 +0000 (05:53 +0100)]
fix required GHC version

19 months agoadd make clean
Julien Moutinho [Fri, 1 Jan 2021 04:42:40 +0000 (05:42 +0100)]
add make clean

19 months agoremove unneeded dependency
Julien Moutinho [Fri, 1 Jan 2021 04:42:25 +0000 (05:42 +0100)]
remove unneeded dependency

19 months agoignore result*
Julien Moutinho [Fri, 1 Jan 2021 04:41:51 +0000 (05:41 +0100)]
ignore result*

19 months agoignore dump-core/
Julien Moutinho [Fri, 1 Jan 2021 04:15:07 +0000 (05:15 +0100)]
ignore dump-core/

19 months agoset cabal category to Parsing (like megaparsec)
Julien Moutinho [Fri, 1 Jan 2021 04:12:45 +0000 (05:12 +0100)]
set cabal category to Parsing (like megaparsec)