Commit Graph

43 Commits

Author SHA1 Message Date
Krasimir Angelov
8fc73b5d05 introduce probspace and maintain consistency after delete 2023-03-02 09:40:39 +01:00
Krasimir Angelov
91769c7ff2 if createConcrete/alterConcrete fail, report the error correctly 2023-03-01 15:24:30 +01:00
Krasimir Angelov
8f7e4c084c an API to create unique function names 2022-12-05 08:11:43 +01:00
Krasimir Angelov
a88c412e87 "create lin/lincat" should be able to see funs & cats in the current transaction 2022-11-04 22:03:29 +01:00
Krasimir Angelov
d784e2584b A lower-level transaction API and a transaction command in the shell 2022-10-24 10:44:40 +02:00
Krasimir Angelov
fc09bc776b transactions should always start with the last revision and release it when done 2022-05-23 19:50:41 +02:00
Krasimir Angelov
5594679a83 first draft of the new allocator with transactions support 2022-05-20 13:55:45 +02:00
Krasimir Angelov
fc7c1249b0 release the reference when done with it 2022-02-07 12:57:19 +01:00
Krasimir Angelov
c119349479 remove repeated export 2022-01-11 14:58:33 +01:00
Krasimir Angelov
00f857559d restore the sharing of sequences. Shrinks the grammar by ~45% 2022-01-08 19:49:42 +01:00
krangelov
f03779dfed fix Fun -> Cat 2021-12-23 18:06:08 +01:00
krangelov
12b4958b99 make it possible to merge PGF files in the compiler 2021-12-22 10:47:22 +01:00
krangelov
d274f4856e compile lindef & linref rules 2021-12-06 15:47:57 +01:00
krangelov
bbff79aaa3 added API for print names 2021-12-03 16:49:36 +01:00
krangelov
4a68ea93b3 generate and store the ranges for all linearization rules 2021-11-26 14:05:03 +01:00
krangelov
857e85c8a1 implement pre {..} 2021-11-25 19:04:35 +01:00
krangelov
06980404a9 correctly distinguish between fun and data judgements 2021-11-18 13:50:09 +01:00
krangelov
aae6123e9e fix: call symks instead of symvar 2021-11-18 11:17:20 +01:00
krangelov
71020baa5e added sanity checking in the linearization builder 2021-11-18 10:33:20 +01:00
krangelov
070f63a049 complete showPGF 2021-11-17 14:03:04 +01:00
krangelov
5649bc1ef0 started piping PMCFG rules to the runtime 2021-11-16 11:49:02 +01:00
krangelov
9eb88f9281 a number of new API functions for the concrete syntax. 2021-11-09 09:16:20 +01:00
krangelov
a4ad17a478 pgf_create_lin now has access to the abstract function 2021-11-09 08:50:54 +01:00
krangelov
02a84b12da simplify types 2021-11-09 08:08:14 +01:00
krangelov
1aacc34deb fix reference counting for concrete revisions 2021-11-09 08:02:20 +01:00
krangelov
6552bcf909 Unify the data model between the C runtime and the Haskell binding 2021-11-09 02:04:36 +01:00
krangelov
2320c6b3b0 export alterConcrete too 2021-10-28 19:32:37 +02:00
krangelov
7e0fc159ce use newForeignPtrEnv instead of Foreign.Concurrent.newForeignPtr 2021-10-26 20:24:35 +02:00
krangelov
1413c273cc API for adding concrete syntaxes. Garbage collection to be fixed! 2021-10-21 19:18:14 +02:00
krangelov
c3eb6973f4 working PMCFG generation 2021-10-13 19:14:56 +02:00
krangelov
8c721e063c partial support for runtime parameters 2021-10-12 12:06:59 +02:00
krangelov
98f42051b1 first steps towards PMCFG generation 2021-10-08 11:53:07 +02:00
krangelov
e11e775a96 merge pgf_free and pgf_free_revision since otherwise we cannot control the finalizers in Haskell 2021-09-22 13:21:07 +02:00
krangelov
ddb01b41be In case of exception, report the offending function 2021-09-17 11:22:18 +02:00
krangelov
b408650125 createFunction now takes arity as argument 2021-09-16 11:04:45 +02:00
krangelov
cf7673525f the compiler now compiles with the new runtime 2021-09-13 18:32:57 +02:00
krangelov
6cb4bef521 added API for accessing flags 2021-09-12 12:57:45 +02:00
krangelov
f7aad0c0e0 added createCategory, dropCategory 2021-09-09 17:33:25 +02:00
krangelov
28321cc023 added dropFunction 2021-09-09 09:47:26 +02:00
krangelov
bcc33af36b added support for branches and explicit transaction commit 2021-09-08 14:09:23 +02:00
krangelov
a843ddba55 better error handling which always reports the right file name 2021-09-07 15:54:27 +02:00
krangelov
8936e6211e add <*> to Applicative for Transaction 2021-09-07 13:31:28 +02:00
krangelov
1ec4949d90 added working transactions. still not atomic 2021-09-06 19:40:24 +02:00