Louis Gesbert
8ae9701a4f
Fix python name clash printing again, for non-ascii
2024-04-05 15:25:46 +02:00
Louis Gesbert
f71db385d5
Python backend: workaround func/var name clash
2024-04-05 14:45:17 +02:00
Louis Gesbert
619cafebb8
Reformat
2024-03-20 14:41:06 +01:00
Louis Gesbert
4cec981f62
Move global options of Cli to their own module
...
This resolves a dependency cycle that would forbid `Cli` from using the modue
`File`, which was annoying.
2024-03-19 15:18:35 +01:00
Louis Gesbert
dc6bfae75c
Fixes for linking modules in the backends (in particular, Python)
2024-03-08 17:36:00 +01:00
Denis Merigoux
c2c46c431e
Adress @altgr's suggestion
2024-03-04 13:30:25 +01:00
Denis Merigoux
ad5dd6f2f6
Fix R compilation
2024-03-03 18:36:50 +01:00
Louis Gesbert
ba9fc85b84
Make exception output consistent across the interpreters
2024-02-26 14:56:43 +01:00
Louis Gesbert
97ae62384e
Add externals to scalc, working test with Python backend
2024-02-26 14:56:43 +01:00
Louis Gesbert
589833bca7
Make plugin load failures less verbose
...
In general you don't care unless you may have attempted to use one.
2024-02-26 14:56:43 +01:00
Louis Gesbert
e308ff8d02
Generalise the definition of lists of nested binders
2024-02-09 18:33:41 +01:00
Louis Gesbert
e8e112d7f7
Add tuples to the Python backend
2024-01-31 11:02:03 +01:00
Louis Gesbert
5d233f4532
Fix warning
2024-01-29 11:37:42 +01:00
Denis Merigoux
b48fb0e223
Array compilation to C is OK
2024-01-26 20:15:32 +01:00
Denis Merigoux
3e807ae071
Remove warnings
2024-01-26 17:53:49 +01:00
Denis Merigoux
a39b67bf12
Merge branch 'master' into c_backend
2024-01-26 17:43:07 +01:00
Louis Gesbert
bc90a7b890
Add (internally) a map2 operator
2024-01-26 11:22:12 +01:00
Denis Merigoux
8a139f6a3c
Work on arrays
2024-01-22 16:49:58 +01:00
Denis Merigoux
50d3164f36
Restore C compilation
2024-01-17 17:26:41 +01:00
Denis Merigoux
a1ab58478c
Remove useless field
2024-01-17 11:29:39 +01:00
Denis Merigoux
9f03b6b931
Merge branch 'master' into c_backend
...
Some tests still failing...
2024-01-15 17:19:17 +01:00
Louis Gesbert
2823795f9f
AST change: more specific application
...
As part of making tuples first-class citizens, expliciting the arity upon
function application was needed (so that a function of two args can
transparently -- in the surface language -- be applied to either two arguments
or a pair).
It was decided to actually explicit the whole type of arguments because the cost
is the same, and this is consistent with lambda definitions.
A related change done here is the replacement of the `EOp` node for operators by
an "operator application" `EAppOp` node, enforcing a pervasive invariant that
operators are always directly applied. This makes matches terser, and highlights
the fact that the treatment of operator application is almost always different
from function application in practice.
2023-12-19 17:27:40 +01:00
Denis Merigoux
85bbb7be1c
Add monomorphizing option
2023-12-19 15:01:06 +01:00
Denis Merigoux
366c351930
Correctly compiles let bindings in expressions
2023-12-19 12:03:23 +01:00
Denis Merigoux
35f829cd65
Fix default optimisation
2023-12-18 14:42:58 +01:00
Denis Merigoux
1f91c16e43
Fix little bug
2023-12-13 16:40:22 +01:00
Denis Merigoux
5c49581207
Compiling simple program correctly to C
2023-12-13 11:07:08 +01:00
Denis Merigoux
827fcef469
More progress but enums also require no struct literals
2023-12-12 18:21:20 +01:00
Denis Merigoux
adfb9297d3
Progress on compiling
2023-12-12 16:25:02 +01:00
Denis Merigoux
d88f67bb2c
Progress
2023-12-12 16:08:40 +01:00
Denis Merigoux
7e221b29eb
Gets C89 struct initialization right
2023-12-11 17:28:32 +01:00
Denis Merigoux
37ab4187bd
Almost there with structs
2023-12-11 17:08:32 +01:00
Denis Merigoux
aca1d0e712
Fields in AST nodes
2023-12-11 15:59:47 +01:00
Denis Merigoux
3711026a4f
Beginning to compile
2023-12-11 14:47:09 +01:00
Denis Merigoux
5b7470fd0d
Compile HandleDefaultOpt specially
2023-12-11 14:34:31 +01:00
Denis Merigoux
f072694e50
Trying to progress
2023-12-11 13:56:13 +01:00
Denis Merigoux
79a261bb47
Restore CI
2023-12-11 11:44:25 +01:00
Denis Merigoux
c61bdbc5d7
Setting up special compilation
2023-12-11 11:31:51 +01:00
Denis Merigoux
4e8d2ef219
Beginning to compile specially HandleDefaultOp, Map, Fold, etc. for C
2023-12-11 11:31:51 +01:00
Denis Merigoux
4f7b678cd7
Making progress and fixing bugs
2023-12-11 11:31:51 +01:00
Denis Merigoux
192e50540b
Correctly compile function pointer types
2023-12-11 11:31:51 +01:00
Denis Merigoux
4d969e13c5
Enum type
2023-12-11 11:31:51 +01:00
Denis Merigoux
2eaac39bb1
Some progress
2023-12-11 11:31:51 +01:00
Denis Merigoux
ad3e140e88
Progress on C backend
2023-12-11 11:31:51 +01:00
Denis Merigoux
5f045110b9
Add tuples to Scalc
2023-12-11 11:31:51 +01:00
Denis Merigoux
6652dc8df2
Add C backend command
2023-12-11 11:31:45 +01:00
Louis Gesbert
ab6bec390d
Adjust plugins and warnings
2023-11-27 11:06:16 +01:00
Denis Merigoux
fc242a5d1f
Fix Python compilation and runtime
2023-11-22 18:08:44 +01:00
Louis Gesbert
4910158aea
Reformat
2023-09-01 16:24:27 +02:00
Louis Gesbert
fe2c66af12
Select colors for Uids upon instanciation
...
This way different Uid kinds will have a consistent color across error messages,
AST dumps, etc.
2023-09-01 14:41:56 +02:00