ocaml-community / utop

Universal toplevel for OCaml
Other
838 stars 112 forks source link

utop with metaocaml? #240

Open pjgoodall opened 6 years ago

pjgoodall commented 6 years ago

Hello, Is it foolish to want utop to work with metaocaml. I'm totally new to ocaml and metaocaml, so my expectations need setting.

Cheers...

ghost commented 6 years ago

I don't know MetaICaml enough to answer, but I would naively expect that the answer is yes. MetaOCaml developers can probably give you a better answer.

pjgoodall commented 6 years ago

Thanks, I am somewhat encouraged :-) Just FYI, my interest in MetaOcaml has been piqued by beginning Reconciling Abstraction with High Performance: A MetaOCaml approach. A tutorial on Oleg Kiselyov’s retake of multi-level programming.

aschaap commented 6 years ago

@diml: Having briefly tried utop (2.0.2) within a MetaOCaml switch (4.04.0+BER) via opam, it appears that utop does not recognize the MetaOCaml-specific Runcode.run. This behaviour is identical to using plain ocaml as one's interactive prompt, rather than using metaocaml. Is there a convenient way to pass metaocaml as an argument to utop?

I have tried (sym)linking ocaml to metaocaml (tried ocamlmktop, ocamlc, and ocamlopt as well) to no avail. Running opam reinstall utop did not make a difference either.

I'm not a MetaOCaml developer, just a user. Thank you in advance.

aschaap commented 6 years ago

I tried utop 2.1.0 on MetaOCaml 4.04.0+BER as well, but my previous comment still applies.

ghost commented 6 years ago

Sorry, I basically have no time to investigate this issue. I'm happy to help you write a PR, but that's all the help I can provide. If you are happy to do so, a MetaOCaml developer should be included in this discussion to help understand what needs to be done in utop to support MetaOCaml.

XVilka commented 6 years ago

Well, seems MetaOCaml is dead anyway - https://github.com/metaocaml/ber-metaocaml No changes for 2 years already. I don't think it worth investing time to support dead project.

pmetzger commented 6 years ago

I thought it had been taken up by Oleg Kiselyov and that only the "ber" version was dead?

XVilka commented 6 years ago

@pmetzger can't find any repository with fresh code then.

pmetzger commented 6 years ago

Look at Oleg's web site.

XVilka commented 6 years ago

The current version is N104, January 1, 2017. While this is certainly better, it is still 1.5 years old and no public repository, so it is not possible to see if there is any development going at all. Public repository gives visibility and certainty in the future of the project.

pmetzger commented 6 years ago

@XVilka You can always ask Oleg about it.

rneswold commented 5 years ago

@XVilka The current version is N107 and is built against OCaml 4.07.1, so it is up-to-date.

abhi18av commented 5 years ago

Hello, it seems that atleast some features of metaocaml would eventually land in the main distribution so perhaps it might be a good idea to start adding a bit of support.

pmetzger commented 5 years ago

@abhi18av If you have patches to contribute, feel free to do a pull request! Contributions are always welcome!

abhi18av commented 5 years ago

Hi Perry,

Could you tell me about a good staring point?

On Mon, 10 Dec 2018, 07:17 Perry E. Metzger <notifications@github.com wrote:

@abhi18av https://github.com/abhi18av If you have patches to contribute, feel free to do a pull request! Contributions are always welcome!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ocaml-community/utop/issues/240#issuecomment-445620066, or mute the thread https://github.com/notifications/unsubscribe-auth/AMNNXjl1zYqsX1qo2hK66r1vT-2zCffNks5u3b09gaJpZM4U3Vu9 .

rneswold commented 5 years ago

@abhi18av When you install 4.07.1+BER, you get metaocaml which is a top-level that allows interactive MetaOCaml programming. I also see a metaocamlmktop to customize a new top-level that automatically includes MetaOCaml features.

I don't know what this project does to build utop but I'd imagine there's mktop-like stuff going on. Understanding the difference between what ocamlmktop and metaocamlmktop does might be enough to know what to do for utop, when the build environment detects MetaOCaml is installed.