Comments (11)
this should be done in the near future : )
from rescript-compiler.
Actually I am more interested in providing a binary in npm, I think it would work nicely with your CommonMl work.
from rescript-compiler.
Yes, that would be cool (in fact being able to put any any version of the OCaml compiler in npm
). But it's not clear to me if CommonML
should be built on top of npm
or if it should be built on top of OPAM, but while adapting npm
's sandboxing model into OPAM
. Either way, it would be nice to have both - so whatever order you approach it in sounds good to me.
from rescript-compiler.
now ocamlscript is using the compiler: https://github.com/bloomberg/ocaml
from rescript-compiler.
Nice, that's a much better way to break it up.
from rescript-compiler.
@jordwalke given very limited resources we have, I am thinking we will go with npm first, the underlying reason is that commonjs does not fit opam very well only goog.module
( used by very few people, we do support it though) works that way, we can catch it up later.
@fxfactorial I saw you have install_ocaml
in npm which is very nice, would you share some knowledge to have install_buckle
as well, thanks
from rescript-compiler.
@bobzhang: @fxfactorial's install_ocaml
simply runs a shell script pulled from the OPAM site. What I would do instead, is simply create a package.json
for the OCaml
compiler that points to a git hash 4.02.3
or bucklescript
's compiler, and npm
will automatically pull it in as a dependency. You just need to add a build
command for npm
to build the compiler in the sandbox (I believe the configure
step just needs to supply ./configure --prefix=pwd
or something before building it).
The reason why this is better, is that packages can specify the version of OCaml as a dependency (ideally npm peerDependency
) which allows each npm
package to compile reliably and be checked against all the other package constraints.
from rescript-compiler.
so the distribution(as planned, not implemented yet) is as follows:
step one: install patched Ocaml compiler (either by installing from source or from opam switch) and make sure compiler is in the path
step two: npm install bs-platform (which will build the compiler and runtime/stdlib on the fly), of course, user can always install from source
note that patched compiler(from opam) is only a build dependency, after that it is no longer needed, in the future, we can put the whole ocaml toolchain under npm as well.
from rescript-compiler.
closed, opam switch ocaml-4.02.3+buckle-1
from rescript-compiler.
Does that opam switch
command take the place of step one
above?
And if you don't do step one, does step two fail?
from rescript-compiler.
Yes for both
from rescript-compiler.
Related Issues (20)
- RFC: Protected value representation HOT 4
- %intoffloat inconsistency
- @deriving(jsConverter) in uncurried mode outputs curried functions HOT 4
- Optimization applied for polymorphic variants, but not for regular variants
- Compiler bug in applying an uncurried function when the function has a signature HOT 5
- Not helpful error message when doing a typo in labeled arguments
- Rescript formatting unstable and producing semantic deviations for inline functions in pipe chains HOT 1
- Wrong character encoding when using tagged templates HOT 3
- False "unused open" warning HOT 1
- @rescript/core package doesn't have the javascript file HOT 20
- @unboxed should support Js.TypedArray2.ArrayBuffer.t HOT 1
- Uppercase type arguments don't work in inlined records HOT 1
- Add rewatch as an alternative build system to eventually replace bsb
- Add name for Variant Type's constructor arguments HOT 3
- Parentheses incorrectly removed by printer, leading to wrong application of `@uncurry` HOT 1
- Continuous Benchmarking HOT 1
- Bug in handling the JSON unboxed type when switching on it HOT 3
- CI build successful in spite of test error HOT 1
- Format check run on syntax changes only
- Required shim for "PervasivesU", gentype HOT 4
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 rescript-compiler.