]> Git — Sourcephile - haskell/symantic-parser.git/log
haskell/symantic-parser.git
3 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

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

3 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)
```

3 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

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

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

3 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

3 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

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

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

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

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

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

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

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

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

3 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

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

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

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

3 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

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

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

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

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

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

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

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

3 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

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

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

3 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

3 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

3 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

3 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

3 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

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

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

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

3 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 years agofix make tag
Julien Moutinho [Fri, 1 Jan 2021 04:11:57 +0000 (05:11 +0100)]
fix make tag

3 years agorename Parser.{Staging => Haskell}
Julien Moutinho [Fri, 1 Jan 2021 04:03:49 +0000 (05:03 +0100)]
rename Parser.{Staging => Haskell}

3 years agoclean up Nix code
Julien Moutinho [Fri, 1 Jan 2021 04:03:25 +0000 (05:03 +0100)]
clean up Nix code

3 years agocomment-out unstable golden tests
Julien Moutinho [Fri, 1 Jan 2021 02:59:01 +0000 (03:59 +0100)]
comment-out unstable golden tests

3 years agoprepare cabal metadata for hackage upload
Julien Moutinho [Fri, 1 Jan 2021 02:43:15 +0000 (03:43 +0100)]
prepare cabal metadata for hackage upload

3 years agofix cabal metadata
Julien Moutinho [Fri, 1 Jan 2021 01:55:48 +0000 (02:55 +0100)]
fix cabal metadata

3 years agoadd cabal flag 'dump-core'
Julien Moutinho [Fri, 1 Jan 2021 01:53:41 +0000 (02:53 +0100)]
add cabal flag 'dump-core'

3 years agorename Machine.{Gen => Generate}
Julien Moutinho [Fri, 1 Jan 2021 01:53:01 +0000 (02:53 +0100)]
rename Machine.{Gen => Generate}

3 years agoadd join-points
Julien Moutinho [Wed, 30 Dec 2020 08:11:55 +0000 (09:11 +0100)]
add join-points

3 years agomove runParser to Parser
Julien Moutinho [Wed, 30 Dec 2020 02:10:40 +0000 (03:10 +0100)]
move runParser to Parser

3 years agorename Machine.{Eval => Gen}
Julien Moutinho [Wed, 30 Dec 2020 02:05:25 +0000 (03:05 +0100)]
rename Machine.{Eval => Gen}

3 years agoremove Hints draft
Julien Moutinho [Wed, 30 Dec 2020 01:31:00 +0000 (02:31 +0100)]
remove Hints draft

3 years agorename {Automaton => Machine}
Julien Moutinho [Wed, 30 Dec 2020 01:27:47 +0000 (02:27 +0100)]
rename {Automaton => Machine}

3 years agoadd missing tests
Julien Moutinho [Wed, 30 Dec 2020 01:27:08 +0000 (02:27 +0100)]
add missing tests

3 years agorename {Label => LetName}
Julien Moutinho [Wed, 30 Dec 2020 00:13:33 +0000 (01:13 +0100)]
rename {Label => LetName}

3 years agoadd farthest position heuristic for parsing error messages
Julien Moutinho [Sat, 26 Dec 2020 21:45:01 +0000 (22:45 +0100)]
add farthest position heuristic for parsing error messages

4 years agoAdd runParser
Julien Moutinho [Tue, 1 Dec 2020 04:02:50 +0000 (05:02 +0100)]
Add runParser

4 years agoadd Automaton inputs and evaluation
Julien Moutinho [Thu, 12 Nov 2020 23:59:15 +0000 (00:59 +0100)]
add Automaton inputs and evaluation

4 years agobump to ghc-9.0.1 to get a levity-polymorphic CodeQ
Julien Moutinho [Thu, 12 Nov 2020 23:57:50 +0000 (00:57 +0100)]
bump to ghc-9.0.1 to get a levity-polymorphic CodeQ

4 years agoFix DumpInstr
Julien Moutinho [Thu, 22 Oct 2020 23:42:37 +0000 (01:42 +0200)]
Fix DumpInstr

4 years agoAdd first golden tests for the Automaton
Julien Moutinho [Wed, 21 Oct 2020 06:12:43 +0000 (08:12 +0200)]
Add first golden tests for the Automaton

4 years agoPolish code and dumps
Julien Moutinho [Wed, 21 Oct 2020 03:08:48 +0000 (05:08 +0200)]
Polish code and dumps

4 years agoAdd missing file
Julien Moutinho [Wed, 21 Oct 2020 02:30:10 +0000 (04:30 +0200)]
Add missing file

4 years agoReformat comments
Julien Moutinho [Tue, 20 Oct 2020 23:13:06 +0000 (01:13 +0200)]
Reformat comments

4 years agoRemove unused extensions
Julien Moutinho [Tue, 20 Oct 2020 20:21:13 +0000 (22:21 +0200)]
Remove unused extensions

4 years agoAdd a precision in a comment
Julien Moutinho [Tue, 20 Oct 2020 20:17:55 +0000 (22:17 +0200)]
Add a precision in a comment