Post B6GCZ9HepoKE7566D2 by dpk@chaos.social
 (DIR) More posts by dpk@chaos.social
 (DIR) Post #B6GCZ6DIFa3Gag24US by dpk@chaos.social
       0 likes, 0 repeats
       
       Scheme projects it would be really useful for someone to work on – a thread (likely to be occasionally extended)!
       
 (DIR) Post #B6GCZ6oW1BpGS7RnVY by dpk@chaos.social
       0 likes, 0 repeats
       
       A (pure Scheme) YAML parser! Yes, YAML is a nightmare, but it’s used in many, many contexts in which Scheme is currently something of an outlier. Most notable for Scheme, imo, is its use in static website publishing systems to write page metadata.There’s a recent approach to YAML parsing based on automatically generating a parser from the machine-readable grammar, ensuring spec-conformance by construction: https://github.com/yaml/yaml-reference-parserThis would likely be the easiest way to go for this project.
       
 (DIR) Post #B6GCZ6orzs6qTDc53o by janneke@todon.nl
       0 likes, 0 repeats
       
       @dpk Cc: @regtur
       
 (DIR) Post #B6GCZ7TzWz0EWkqv9k by dpk@chaos.social
       0 likes, 0 repeats
       
       An implementation of the Citation Style Language in Scheme. (Admittedly, I may be alone in thinking this is a priority – but if you did this we’d definitely be able to use it in generating the R7RS Large spec.) https://citationstyles.org/
       
 (DIR) Post #B6GCZ7r29JQzgDdK4W by dpk@chaos.social
       0 likes, 0 repeats
       
       This one’s a Ph.D.-level research project:Find out: is it possible to have implicit phasing with separate compilation of libraries? So you don’t need to declare when you will need a library, but still have a Racket-style guarantee that library expansion side-effects are discarded.I think it must be possible. About half the people I have asked think it isn’t, and the other half agree with me.Either prove that it isn’t possible – or write and describe an expander that demonstrates that it is
       
 (DIR) Post #B6GCZ8IgUVYJ3yZPAe by dpk@chaos.social
       0 likes, 0 repeats
       
       A pure Scheme, portable-as-can-be library for line and expression editing in the terminal. We don’t have a portable way to set and manage termios, so that part would have to be implementation-specific, but a high-quality REPL that could be used on multiple implementations with a comparatively small implementation-specific backend would be great.
       
 (DIR) Post #B6GCZ8s8MhuOpv9iQS by dpk@chaos.social
       0 likes, 0 repeats
       
       A record type definition system which allows careful control over the memory layout of records, including allowing embedding vectors (especially homogeneous vectors of a certain other record type) into the record type representation, avoiding pointless chasing of pointers. https://mendeddrum.org/@fanf/114818998932256039
       
 (DIR) Post #B6GCZ9HepoKE7566D2 by dpk@chaos.social
       0 likes, 0 repeats
       
       A better toolkit for parsing and unparsing XML, HTML, and other angle-bracket languages than SXML.And if you don’t think SXML is a problem, I assume you’ve never actually read Oleg’s spec for it, never made a typo in an element name, etc. etc.Besides that SXML is cons pair abuse at its worst
       
 (DIR) Post #B6GCZ9a5jH4R2FiowS by dpk@chaos.social
       0 likes, 0 repeats
       
       A protocol for functional object-oriented programming based on the Nix model, with single dispatch on the first argument to methods as Scheme procedure; and a library implementing this with a T-style case syntax for defining objectsThe nice thing is that as a protocol, it depends only on procedures, so to extend it you only need say (λ (self super) ...); no need to actually include the library implementation or anyone’s library implementation, and all implementations could just work together
       
 (DIR) Post #B6GCZ9tEa6Nnzcg6mO by dpk@chaos.social
       0 likes, 0 repeats
       
       A portable shim implementation of @wingo’s API for fibres on top of SRFI 18 threads (one fibre = one SRFI 18 thread). This would make fibres a practical API at least on Gambit and probably on Chibi (which can both handle large numbers of SRFI 18 threads reasonably well), and would make the case for fibres as a standard API for concurrent applications in R7RS large even stronger