Skip to content

Some questions about the current implementation #14

@pluckyporcupine

Description

@pluckyporcupine

Apologies for submitting this as an issue. I wasn't sure where else to ask.

I'm interested in working with Habit, as I've been trying to find a good solution for lower-level functional programming, and I had a few questions, as I'm unsure whether the docs in /doc are relevant to the current implementation, as many of them haven't been updated in 3 years.

  1. Is there still an FFI of sorts? If I'm understanding /doc/primitives.txt properly, simply defining a reference to a function and then building that function in C and linking the object file built from your C file will allow you to use functions from C? However, I see that the documentation for calling Habit from C also mentions building with CompCert and something called "cheney" that I can't seem to find on the web easily, while the Makefile has explicitly removed references to CompCert, but what appears to be an example of using an FFI in /tests also remains largely unchanged, so it's unclear to me whether that still works the same way or how I would go about using such features.

Which leads me to...

  1. Is CompCert required to use Habit or is everything based on LLVM now, as per usage of mil-tools?

  2. Are linear and substructural typing, described as "a more experimental feature of Habit" on habit-lang.org, implemented?

Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions