Comments (7)
Oh no, it's not about .eliomi. It appears even without it. So it's even worst :(
from eliom.
Note also that the bug doesn't appears inside the same module. So the problem is probably at the level of the .type_mli
from eliom.
You are probably in the case described in page
http://ocsigen.org/eliom/dev/manual/clientserver-language
under section "Restrictions ..." (or something equivalent).
In that case it is not a bug, but an unimplemented feature.
The solution for this is not obvious.
Can you confirm?
While using .eliomi on Cumulus I noticed that there is a serious bug with
it. Because I'm lazy I created the interface file filling with polymorphic
types the parameter types I wasn't sure about. But to my great surprise,
the project compiled without giving much details about types. Then you can
pass whatever types you want as parameter.See here if you want more details:
Cumulus/Cumulus@604278a
27a480b#diff-27a4074beace25a4144a64136ef2aa2aR1
Reply to this email directly or view it on GitHub:
#51
from eliom.
I am not sure all restrictions are described in this section.
I think thare are other cases where typechecking is not done.
Probably @chambart or @benozol have an more precise idea of where we do or do not type check.
from eliom.
I'm not sure to understand well the manual here but I can reproduce it in a very small test-case as follow:
In test.eliom
:
{client{
let test_c () = ()
}}
let test_s x =
ignore {unit{
test_c %x
}}
In test.eliomi
(not needed to reproduce the bug):
val test_s : 'a -> unit
from eliom.
To be clear, with the test-case you can do this in another module:
let () = test_s 1
let () = test_s ()
let () = test_s [1; 2; 3]
from eliom.
This sounds a bit familiar indeed… overly Pa_eliom_seed.suppress_underscore
? Probably escaped variables with variables in their type should be disallowed completely? As we cannot distinguish between monomorphic and polymorphic variables when finding the type of the escaped value when generating the client code… IIRC!
from eliom.
Related Issues (20)
- [Eliom] Fix syntax extension (optional parameter not working) HOT 3
- [Eliom] Is it possible to use `let%rpc` if the function is used only from client section?
- Replace server_function everywhere (OS template, Eliom manual, tutorials)
- Release new versions
- Remove connected wrappers from BS
- compile with lwt.dev: Fatal error: exception complex open are not supported before OCaml 4.08 HOT 2
- Usage of attached POST action HOT 4
- eliomdep doesn't seem to understand `-map` option HOT 1
- Typing error on Eliom >= 8.9.0 HOT 2
- Unbound constructor HOT 8
- Firefox rejecting cookies over SameSite attribute?
- opam and eliom -> [eliom: make]Killed HOT 1
- Use ocamlformat
- test
- Failure to build with dune cache enabled HOT 1
- Error when running ocsigenserver: The module `B' is not yet initialized HOT 4
- Problem with browser navigation HOT 4
- OCaml 5.2 support HOT 5
- What is the license of eliom-distillery templates ? HOT 2
- Rapid succession of comet-requests when using two Eliom_react.Down channels
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 eliom.