Comments (35)
so following the typescript convention, we will call the compiler osc
(tsc
), but the project name will still be called ocamlscript
,
from rescript-compiler.
I already told @bobzhang that I don't like this.
I also explained why it would confuse users, citing the examples of camlp4/camlp5 and ocamlfind/findlib/topfind.
I recommended a unique name, possibly partially evocative, such as CoffeeScript.
from rescript-compiler.
It is hard to find a meaningful unique name, actually it's not uncommon to have overloaded names in open source projects, for example, jsx was used before reactjs. My personal opinion is to keep this name, but I don't mind if someone come up with a better name
from rescript-compiler.
also the name of react is already used by ocaml react library, I think people would get used to it :-)
from rescript-compiler.
Why not call it mickeymouse? It's a cute name and there's no opam package for it.
from rescript-compiler.
Opam package names are unique resources, and at the moment, they are used in a first come first served basis.
As an opam user, I would like opam package developers to 1) use unique names 2) use long, descriptive or evocative names. Also, as an opam user, I do not especially mind OCaml packages having a name that collides with a project in another language (react in this example), except that it might increase the risk of conflicts after a while.
The examples that @mjambon cites (camlp4/camlp5) and ocamlfind/findlib are confusing enough. Please do not repeat mistakes from the past.
from rescript-compiler.
Hi @braibant , thanks for your comment! I understand opam package names are unique, and I do respect @mjambon already picked this name for the opam package, that's why I changed the compiler name to osc
to avoid conflict since it does have some practical effect especially when you have two installed at the same time. However, project names are different from package names, suppose when we are ready to provide ocamlscript to npm or opam, the package name can be different, as you suggest, when we pick a name for npm or opam, we will pick a long, evocative
name.
There is non-trivial cost for changing names, more importantly, I think ocamlscript
follows the convention of javascript community closely which we also value a lot, hope this explains my ideas, thanks!
from rescript-compiler.
For what it's worth, I share the concern about the project name being different from what is used on OPAM. @bobzhang you are certainly correct that sometimes projects deliver packages with different names, but in those cases, it's generally true that both the project and package names are unique, e.g. there are no existing packages with the same name as that project, and new packages don't use existing project names.
from rescript-compiler.
I think it would clearly help if the project name and the package name were the same.
Yet, for what it's worth, I am not sure that osc
is a good name for the compiler itself either -- even if it is probably not yet taken in OPAM. This is a short name that captures a unique resource (the names in a user's environment).
EDIT: For a compiler name, osc
is probably good (it makes one think tsc
, the typescript compiler, for instance), but should not be a package name...
from rescript-compiler.
@mjambon Oh, come on! There's not that much users of current ocamlscript
to exceed confusion of this ocamlscript
's users getting surprisingly different package from OPAM. Language name + script
pattern popularly stands for "the same language, yet another backend": there are clojurescript
, pythonscript
, grooscript
and lispyscript
. This even adds more confusion currently.
from rescript-compiler.
@bobzhang @polkovnikov-ph then call it ocscript
FFS.
from rescript-compiler.
I will close this issue, @mjambon is fine to keep ocamlscript
: )
from rescript-compiler.
No I'm not fine with this. @bobzhang @polkovnikov-ph Everyone outside your organization told you the name clash is a bad idea and explained why. You're doing the OCaml community a disservice.
from rescript-compiler.
@mjambon , @polkovnikov-ph 's opinion is not my opinion and does not belong to this organization
from rescript-compiler.
+1 to avoid name clashes if possible
from rescript-compiler.
@bobzhang You are willingly and openly ignoring, mocking (the winky, happy faces are not appreciated) the rest of the OCaml community for such a small and trivial fix. Its a shame to have this needless internal division.
I had great use cases for this but this disrespect is icky.
@kpfleming Thank you.
from rescript-compiler.
We will continue internal discussions about this, and we'll take the community's clearly stated preferences into account. Please give us a few days to arrive at a solution.
from rescript-compiler.
Please just quickly google before choosing names (OSC is also a common protocol with even https://github.com/johnelse/ocaml-osc, and it's annoyingly close to https://github.com/felix-lang/ocs).
@mjambon 's ocamlscript
has been around for very long also, with a pretty decent user-base; I remember using it long before opam
was around.
Here are names:
- blocamljs ("blo" for bloomberg)
- hilocamljs (HiL β higher level, than
js_of_ocaml
I mean) - yaoji (yet another ocaml to javascript implementation)
- ....
convention of javascript community closely which we also value a lot,
value in the JS community, that made me chuckle :)
from rescript-compiler.
I dont really see convention here https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS
from rescript-compiler.
Hello,
I'm the original author of ocamlscript (first versions published about 11 years ago). I also think the ocamlscript OPAM package name should be used for this tool (currently maintained by Martin Jambon) and not another new project.
Best regards,
David MENTRΓ
from rescript-compiler.
hi all, I am sorry if you find my comments are offensive, we will think about a better name to make all happy
from rescript-compiler.
+1 for keeping the ocamlscript name for @mjambon and @dmentre tool
+1 for a civilized discussion
from rescript-compiler.
@bobzhang just fin another package name for your stuff: ocamlscript from @mjambon is a venerable OCaml software that has been here for so long that you were probably not even programming in OCaml when it was released.
from rescript-compiler.
How's the rename coming along?
from rescript-compiler.
@mjambon we are working on it
from rescript-compiler.
Here is my funny proposal of the day for a name: ono
standing for: "obviously not ocamlscript"
π
from rescript-compiler.
@mjambon @UnixJunkie Some members of our team are out of office for several days, so it might take sometime, but it's definitely on our top priority : )
from rescript-compiler.
@bobzhang Our team of FP geeks is eager to put our hands on whatever_it_would_be_called ocaml js backend, yet we don't feel like installing it by hand instead of having a nice fresh install from OPAM.
π
from rescript-compiler.
How about mlscript
?
from rescript-compiler.
camelscript
? π«
from rescript-compiler.
How about CarmelScript? Has that hot-new-web-technology sound to it, doesn't it?
from rescript-compiler.
hi all, so we are going to rename the project to avoid the conflict, does BuckleScript
look good to you? @mjambon @jordwalke
from rescript-compiler.
π Sounds good to me!
from rescript-compiler.
Whatever works for all of you
from rescript-compiler.
hi all, so it was renamed to bucklescript , thanks for all your suggestions, I will close this issue.
from rescript-compiler.
Related Issues (20)
- Type errors about inconsistent internal representations for variants do not describe the representation
- Extra parentheses in pipe operator cause code to fail compilation. HOT 1
- Formatter eats comments on the first argument of a function HOT 4
- Error message mentioning `function$` HOT 1
- Dynamic import compiled to dynamic import + static import which hurts code splition HOT 5
- Unnecessary cases created in switch HOT 2
- Unified Operator Proposal for int, float, and bigint HOT 1
- Float comparison optimization bug
- 11.1.0-rc.4: weird misparsing errors HOT 7
- Pinned and Dev dependencies interacting HOT 1
- Spread operator creates curried function if named arguments are called out of order HOT 2
- Freezing when too many files are present with "rescript format -all" command HOT 3
- Add bigint as a supported unboxed type HOT 3
- Misleading error message for not adding `=?` for the function labeled argument HOT 1
- Ignore unsupplied optional arguments when passing a function as a parameter HOT 5
- Very Slow Compilation of rescript files. HOT 4
- How can I do replaceAll? HOT 1
- Fatal error when @deriving(accessors) a Variant with struct payload HOT 4
- type inference broken with dicts HOT 1
- JSX4: Bug with ForwardRef's transformation output being different with or without type annotation HOT 6
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.