Comments (10)
Hi senior!
To work on an issue, do we have to apply for it so that the issue is assigned to us?
If yes, then let this issue be assigned to us please :(
from ppx_rapper.
I would like to work on this issue along with @marrious11 please.
from ppx_rapper.
You can of course work together on this issue if you want! Bear in mind that at the end of the Outreachy contribution period, I will be only able to accept one applicant, and it might be harder for me to distinguish between people who have worked together.
(If @marrious11 prefers to work alone, I would say the issue is assigned to them as they were first to ask for an assignment!)
from ppx_rapper.
Hi @marrious11,
I think you should run
opam install ppx_rapper_lwt
And
opam install ppx_rapper
from ppx_rapper.
IMO this makes sense to have, and I can offer myself to review the change in case @roddyyaga isn't available.
from ppx_rapper.
Hey, that sounds great, happy to review.
from ppx_rapper.
Thanks a lot for the reviewing offer!
Note that we decided that we will change the ppxlib behaviour regarding the handling of exceptions, to match the current use of raise_errorf
in PPXs.
Catching an exception will no longer stop the rewriting process. So, the example I gave in the original issue is not relevant any more.
However, embedding errors still have advantages: It allows reporting multiple errors, while still outputting valid AST for the part that were successful. In the case of this PPX, an example where embedding errors is better could written as:
let many_arg_execute =
[%rapper
execute
{sql|
UPDATE users
SET (username, email, bio) = (%invalid1{username}, %invalid2{email}, %string{bio})
|sql}]
which, when raising instead of embedding errors, would not list both errors (both invalid1
and invalid2
raise "Unknown type specification). Moreover, it could still be able to generate a function of the right arity! (username:_ -> email:_ -> bio:_ -> _ -> _
)
from ppx_rapper.
Hi sir @panglesd, happy new month.
Please, I have a couple of issues:
Firstly, when i rum the command dune build
, receive this error:-
Finally, according to the README.md: How do I add these line (libraries ppx_rapper_lwt) (preprocess (pps ppx_rapper))
to the relevant stanzas and the libraries base ppx_rapper_lwt caqti-type-calendar
?
from ppx_rapper.
Hello @marrious11,
Firstly, when i rum the command dune build, receive this error:-
The error is telling you that the caqti-type-calendar library is not found. This is because some of the dependencies have not been installed.
In order to install the dependencies of a project you want to work on, the best is to run:
opam install . --deps-only --with-test
Running opam install ppx_rapper
, as suggested by @Burnleydev1, is also possible, but it will not only install the dependencies of ppx_rapper
, but also ppx_rapper
itself, from the opam repository.
Since you want to work on ppx_rapper
, you don't need to install the opam version. You might want to install your modified version if you want to test it, but that's not necessary right now.
Finally, according to the README.md: How do I add these line (libraries ppx_rapper_lwt) (preprocess (pps ppx_rapper)) to the relevant stanzas and the libraries base ppx_rapper_lwt caqti-type-calendar?
The README mention how to use ppx_rapper
as a PPX in another project project. It is also explained here. If you want to try ppx_rapper
in a different project (which would be a good thing to do), then it is required. But it is not required in ppx_rapper
itself.
from ppx_rapper.
Thank you sir @panglesd, it worked. No errors generated again.
from ppx_rapper.
Related Issues (20)
- Don't allow trailing semicolon in SQL statement HOT 1
- dune utop fails
- Align function_out semantics with ppx_deriving's make plugin when fields are optional HOT 2
- Deprecation alert with Caqti HOT 1
- more examples of connection creation, please! HOT 1
- Unbound module Rapper_helper HOT 1
- schema creation and semicolon
- Need Lower Bound on the Caqti Dependencies
- Example with multiple joins.
- Using %list with function_out HOT 1
- Support for eio HOT 3
- The 3.1.0 package has changed in place HOT 1
- Add support for caqti 2.0 HOT 2
- multiple lists in WHERE IN
- fails mapping nullable type to optional column
- escaping of ocaml keywords in record_out HOT 2
- Removing Pg_query dependency ? HOT 1
- INSERT has more expressions than target columns using list of strings
- SQL Syntax Error when input variable used as array length
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ppx_rapper.