~roselandgoose

Chicago

Recent activity

Re: working on hare::unit a month ago

From Rosie Keith Languet to ~sircmpwn/hare-dev

Thanks Ember!

> flexible type hashes are just based on the storage/flags (this is where
> the distinguishing between the variants happens) along with a unique id
> that's incremented each time a new flexible literal type is created.
Ah I see. It's just that last part that's missing from hare::types::hash

I see the relevant switch case(s) in harec:src/types.c:type_hash() which
is missing, as well as the harec:include/types.h:type_const struct that
it depends on. (I last pulled before the s/const/literal/ spec changes -
these types may have changed names since but ¯\_(ツ)_/¯ )

> this hash can never make it into the abi, so the only requirement is
> that each call to type_create_flexible creates a type with a unique

Re: working on hare::unit 2 months ago

From Rosie Keith Languet to ~sircmpwn/hare-dev

Oops,

Please disregard this bit:
> Next I'm going to experiment with using the scan phase of
> unit::check() to resolve type/decl dependencies and generate a
> feasible plan/job queue for the validate phase to execute.

Rereading harec/docs/declaration_solver.txt I can already see that my
description above is wrong. I think the rest of that part will remain
correct tho:
> I suspect that work will involve tweaking unit::object, so may also
> mark a good chance to implement another of Seb's ideas:
> > unit::object_kind should be removed since unit::object can just use a
> > tagged union instead

working on hare::unit 2 months ago

From Rosie Keith Languet to ~sircmpwn/hare-dev

TLDR: I'm leisurely working on the self-hosted type checker, which is
shaping up to be somewhere between a fleshing-out of hare::unit and a
complete re-write. No proposals/RFCs at this point - just having fun
experimenting, though I'm happy to receive feedback from more seasoned
eyes.

Hi all,

I've been having a lot of fun for the past few months working on
hare::unit mostly for my own learning, so thanks for such a wonderfully
hackable language :) I'm writing this email after some conversation on
IRC to document parts of that conversation, overview the progress that
I've made, and announce my intentions for futher work. If anyone sees
any problems with the approaches I mention in this email, please feel

[PATCH hare v1] hare::types: a few fixes. 3 months ago

From Rosie K Languet to ~sircmpwn/hare-dev

fixes an incorrect and untested builtin_never which previously had its
id copy-pasted from builtin_opaque.

removes redundant and divergent computations for arch-independent
builtins from fromast().

remove a missleading and unreachable branch from dealias().

Signed-off-by: Rosie K Languet <rkl@rosiesworkshop.net>
---
For the last several months I've been casually working on the many
TODOs in hare::{unit,types}. The curious can see my work over at [1],
but it's mostly not ready to send here.
[message trimmed]

Fwd: Re: Error building deeply nested module 9 months ago

From Rosie Keith Languet to ~sircmpwn/hare-users

> It's `namebuf` in mkfile (cmd/hare/plan.ha:312) being called from
> `sched_hare_object` in cmd/hare/schedule.ha:229

That was it! Thanks everybody :D

Error building deeply nested module 9 months ago

From Rosie Keith Languet to ~sircmpwn/hare-users

Hi, I'm trying to build a hare module deeply nested within an existing
mixed hare and C project and encountering the following error:

`Abort: ./bufio/memstream.ha:65:22: bufio::fixed buffer exceeded`

user.ha:
│ use targets::socs::allwinner;
│ //use targets::socs::allwinne;
│ ...
└ let number: size = allwinner::test;

targets/socs/allwinner/todo.ha:
│ export def test: size = 42;
└

[PATCH 2/2] document -l -t unsupported status 10 months ago

From Rosie K Languet to ~sircmpwn/hare-dev

---
 docs/hare.scd | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/docs/hare.scd b/docs/hare.scd
index 1b8196e2..3003951d 100644
--- a/docs/hare.scd
+++ b/docs/hare.scd
@@ -92,7 +92,8 @@ value, and optional context, separated by tabs.
	linker flags.

	Note: use of *-l* currently implies the build tag *libc*. Use *-T -libc* to
	override this behavior. See *CUSTOMIZING BUILD TAGS*.
	override this behavior. See *CUSTOMIZING BUILD TAGS*. Furthermore, combining
[message trimmed]

[PATCH 1/2] document -l heuristic 10 months ago

From Rosie K Languet to ~sircmpwn/hare-dev

---
 docs/hare.scd | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/docs/hare.scd b/docs/hare.scd
index ba23eb25..1b8196e2 100644
--- a/docs/hare.scd
+++ b/docs/hare.scd
@@ -91,6 +91,9 @@ value, and optional context, separated by tabs.
	*pkg-config --libs* (see *pkg-config*(1)) to obtain the appropriate
	linker flags.

	Note: use of *-l* currently implies the build tag *libc*. Use *-T -libc* to
	override this behavior. See *CUSTOMIZING BUILD TAGS*.
[message trimmed]

Re: Hare driver quirks cross-compiling for aarch64 10 months ago

From Rosie Keith Languet to ~sircmpwn/hare-dev

👍

Re: Hare driver quirks cross-compiling for aarch64 10 months ago

From Rosie Keith Languet to ~sircmpwn/hare-dev

Lassi: thanks for the thorough response!

> the presence of -l flags is used as a heuristic to select which linker
> and tags to use.
That makes enough sense. This probably fixes more builds than it breaks
at this point.

> It would probably make sense to add a flag to disable this behavior,
> or maybe only enable it when -lc is used

Or maybe a notice about this in the man page section for the -l flag?
I'm happy to submit a patch for that!

Drew: yeah I've steered clear of linking with libc (-lc, -l:libc.a, etc)