]> Git — Sourcephile - haskell/symantic-parser.git/log
haskell/symantic-parser.git
3 months agoiface: remove `satisfyOrFail` main
Julien Moutinho [Fri, 19 Jan 2024 23:11:26 +0000 (00:11 +0100)]
iface: remove `satisfyOrFail`

3 months agoimpl: tweak viewing and writing
Julien Moutinho [Fri, 19 Jan 2024 23:06:12 +0000 (00:06 +0100)]
impl: tweak viewing and writing

3 months agoimpl: add `programWriter`
Julien Moutinho [Fri, 19 Jan 2024 23:00:42 +0000 (00:00 +0100)]
impl: add `programWriter`

3 months agobuild: nix: update inputs
Julien Moutinho [Fri, 19 Jan 2024 19:47:57 +0000 (20:47 +0100)]
build: nix: update inputs

3 months agoimpl: fix machine error handling
Julien Moutinho [Fri, 19 Jan 2024 00:11:26 +0000 (01:11 +0100)]
impl: fix machine error handling

3 months agoimpl: update template-haskell
Julien Moutinho [Fri, 19 Jan 2024 00:04:45 +0000 (01:04 +0100)]
impl: update template-haskell

3 months agoimpl: update to text-2
Julien Moutinho [Thu, 18 Jan 2024 23:56:16 +0000 (00:56 +0100)]
impl: update to text-2

5 months ago!fixup impl: move `liftTypedString` to `Language.Haskell.TH.Show`
Julien Moutinho [Thu, 16 Nov 2023 22:20:01 +0000 (23:20 +0100)]
!fixup impl: move `liftTypedString` to `Language.Haskell.TH.Show`

5 months agoimpl: remove dead code: `unLeft`
Julien Moutinho [Thu, 16 Nov 2023 22:16:39 +0000 (23:16 +0100)]
impl: remove dead code: `unLeft`

5 months agobuild: update to symantic-base >= 0.5
Julien Moutinho [Thu, 16 Nov 2023 22:13:16 +0000 (23:13 +0100)]
build: update to symantic-base >= 0.5

5 months agoimpl: move `liftTypedString` to `Language.Haskell.TH.Show`
Julien Moutinho [Thu, 16 Nov 2023 22:12:00 +0000 (23:12 +0100)]
impl: move `liftTypedString` to `Language.Haskell.TH.Show`

5 months agobuild: ghcid: run even with warnings
Julien Moutinho [Thu, 16 Nov 2023 22:07:15 +0000 (23:07 +0100)]
build: ghcid: run even with warnings

5 months agoimpl: make `HideName` support newer constructors
Julien Moutinho [Mon, 13 Nov 2023 01:56:15 +0000 (02:56 +0100)]
impl: make `HideName` support newer constructors

5 months agodoc: clarify the scope of HideName instances
Julien Moutinho [Mon, 13 Nov 2023 01:55:27 +0000 (02:55 +0100)]
doc: clarify the scope of HideName instances

5 months agoiface: add `HideName` instances
Julien Moutinho [Mon, 13 Nov 2023 01:54:32 +0000 (02:54 +0100)]
iface: add `HideName` instances

7 months agotests: fix Nandlang
Julien Moutinho [Fri, 15 Sep 2023 21:55:40 +0000 (23:55 +0200)]
tests: fix Nandlang

7 months agotests: add more tests
Julien Moutinho [Fri, 15 Sep 2023 21:28:43 +0000 (23:28 +0200)]
tests: add more tests

7 months agowip
Julien Moutinho [Fri, 15 Sep 2023 20:30:46 +0000 (22:30 +0200)]
wip

8 months agodoc: fix typos
Julien Moutinho [Sun, 30 Jul 2023 21:57:21 +0000 (23:57 +0200)]
doc: fix typos

19 months agodoc: fix typos
Julien Moutinho [Tue, 23 Aug 2022 02:50:18 +0000 (04:50 +0200)]
doc: fix typos

19 months agobuild: update nix input `nixpkgs`
Julien Moutinho [Mon, 22 Aug 2022 21:08:13 +0000 (23:08 +0200)]
build: update nix input `nixpkgs`

19 months agodoc: update public presence
Julien Moutinho [Mon, 22 Aug 2022 18:26:08 +0000 (20:26 +0200)]
doc: update public presence

2 years agowip
Julien Moutinho [Thu, 4 Nov 2021 16:36:29 +0000 (17:36 +0100)]
wip

2 years 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`

2 years 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

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

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

2 years 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`

2 years 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`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 years 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

2 years 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

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

2 years 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

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

2 years 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

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

2 years 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)
```

2 years 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

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

2 years 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}

2 years 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

2 years 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

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

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

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

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

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

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

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

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

2 years 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

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

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

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

2 years 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

2 years 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)

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

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

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

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

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

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

2 years 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

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

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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

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

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

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

2 years 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

3 years 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

3 years 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

3 years 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

3 years 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

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

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

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

3 years 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

3 years 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

3 years 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

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

3 years 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