Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from special type names (sexp_{list,bool,array,option}) to attributes #80

Open
copy opened this issue May 15, 2018 · 5 comments
Open
Labels
forwarded-to-js-devs This report has been forwarded to Jane Street's internal review system.

Comments

@copy
Copy link

copy commented May 15, 2018

Opening Core_kernel or Base bring the type aliases sexp_{list,bool,array,option} to {list,bool,array,option} into scope, which infamously infect OCaml tooling (merlin, utop) and confuse newcomers. See also janestreet/base#39.

ppx_sexp_conv already supports attributes that supersede the old type names. So we should encourage users to switch to attributes and fix the original problem by moving the type aliases out of Core_kernel and Base (maybe to a submodule?).

@ghost
Copy link

ghost commented May 15, 2018

Indeed, we have been talking about doing this change for a while. It's just that we never took the time to do it.

Regarding moving the types aliases to a sub-module, for the user this is basically as much work as switching to attributes. We could mark them deprecated with [@@deprecated] though.

@copy
Copy link
Author

copy commented Jan 1, 2019

It would be wonderful if 2019 could be the year in which we don't have to see sexp_list any more. The more one uses merlin, the more often they come up, which is quite unfortunate.

@yminsky
Copy link

yminsky commented Jan 2, 2019

Yeah, it's pretty annoying. It's on our near-term todo list.

@kevinji
Copy link

kevinji commented Apr 5, 2019

See b415c54!

@github-iron github-iron added the forwarded-to-js-devs This report has been forwarded to Jane Street's internal review system. label Nov 25, 2020
@seliopou
Copy link
Member

These have been deprecated for a while in base and core_kernel, so I'm gonna go ahead and delete them entirely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
forwarded-to-js-devs This report has been forwarded to Jane Street's internal review system.
Projects
None yet
Development

No branches or pull requests

5 participants