Pavel Kulyov pkulev
pkulev pushed to main at pkulev/sex 2026-10-02 22:17:31 +02:00
ca88d9b386 implement compound and designated literals support
a9b00f2135 use true bool, since we target c99 onwards
26e8e6c374 fix lambdas and add a test to prevent rotting
62316e1e3d enable includes to have multiple targets
b1ab18b9af dev: require make deps manually for dev & CI
Compare 38 commits »
pkulev created repository pkulev/foreplay 2026-09-30 19:34:57 +02:00
pkulev commented on pull request alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

The forms that reach this walk are &&, `

pkulev commented on pull request alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

An array operand is returned as the array. decay in infer.scm is the conversion this comment describes, and nothing in the walk calls it.

pkulev suggested changes for alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

Built and ran this on CHICKEN 6.0.0 at 9daaa42. make run-tests is green, including closures, fixpoint, wildcards, and inference. The holes below are outside that suite. I compiled each one with ./sexc -C and, where it emitted C, with cc.

pkulev commented on pull request alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

The callee is typed before it is walked, so a closure literal has no type yet and falls through to convert-arguments. After the walk the form is a call of the constructor:

pkulev commented on pull request alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

walk-parts walks the type as well as the initializer. A list whose head is an in-scope closure is rewritten as a closure call, including a parameter name inside a fn type.

pkulev commented on pull request alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

When the ranks tie this keeps the left operand, so the declared type depends on the order of the source.

pkulev commented on pull request alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

A subscript types only when the base's surface form is already (¤ ...). An (* int) is not, so

pkulev commented on pull request alex-eg/sex#39 2026-09-30 11:39:23 +02:00
type-inference

resolve-closure-types runs here and resolve-wildcard does not. (var n _ 1) at toplevel emits static _ n = 1. cc: unknown type name '_'. The same form inside a function becomes int n = 1.

pkulev closed issue alex-eg/sex#20 2026-09-30 00:37:33 +02:00
Package Sex to be able to deliver it smoothly to those who is in desperate need
pkulev commented on issue alex-eg/sex#20 2026-09-30 00:37:33 +02:00
Package Sex to be able to deliver it smoothly to those who is in desperate need

Sex was delivered successfully onto two most valuable microsoft OS distributions: Gentoo Windwos and MaCWindosow. Others should get sex themselves somehow

pkulev closed issue alex-eg/sex#21 2026-09-30 00:35:55 +02:00
[macos] Brew formula
pkulev commented on issue alex-eg/sex#21 2026-09-30 00:35:55 +02:00
[macos] Brew formula

Done in bf259cf1da

pkulev pushed to main at alex-eg/sex 2026-09-30 00:31:43 +02:00
ca88d9b386 implement compound and designated literals support
a9b00f2135 use true bool, since we target c99 onwards
26e8e6c374 fix lambdas and add a test to prevent rotting
Compare 3 commits »
pkulev merged pull request alex-eg/sex#38 2026-09-30 00:31:41 +02:00
minor-language-improvements
pkulev approved alex-eg/sex#38 2026-09-30 00:31:33 +02:00
minor-language-improvements

👍

pkulev approved alex-eg/sex#35 2026-09-26 17:11:09 +02:00
enable includes to have multiple targets

İ'll take multiple into acc

pkulev created pull request alex-eg/sex#34 2026-09-24 00:19:10 +02:00
dev: require make deps manually for dev & CI
pkulev pushed to bugfix/packaging-uses-local-eggs at pkulev/sex 2026-09-24 00:11:53 +02:00
b1ab18b9af dev: require make deps manually for dev & CI
e0987c1836 read the feature flags in sextest in the way sexc does
ee053e35c9 look past comments in a public form's header
534e9ef56b say what is wrong with a pointer type, and stop mangling fn ones
381ad21d8b separate tags and typedefs
Compare 10 commits »