Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Verity :transHaskell:​:verifiedtransfem:

@monoidmusician@tech.lgbt
mastodon 4.7.2+glitch.techlgbt
  • Open on tech.lgbt

essence of verity, not from concentrate. maths, programmings, arts. type theory and calligraphy.

huggy & huggable. multiplexed, monoidal. disabled. type checked and verified.

:verifiedtransfem: :neocat_flag_disabled: :neurodiv: :neocat_flag_lesbian: :drgn_flag_demiace:

against LLMs, NFTs, blockchain, AI Art, etc.

0 Followers
0 Following
29 Posts
Joined April 03, 2023
macroblog:
https://blog.veritates.love/
pronouns:
she | they | xe/xem/xyrs | ∅
Profile image description:
A colorful SVG butterfly composed of musical symbols (bass and treble clefs for the wings), surrounded by math symbols. Green and blue with some purple and pink.
Header image description:
Abstract art with glowing green sine waves stretching across the screen and neon pink lines in the background, resembling a mountain range. The background is deep fuchsia with a subtle gradient.
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 4mo ago

is anyone aware of research on generating LR or LL parse tables that exploits sharing in the grammar?

like, the conventional approach is to expand the grammar so that it is a sum of products: each nonterminal has multiple flat rules that it can match, with no choice in those rules

(the most classic of BNFs, if you will)

but grammars may be constructed in a tree shape, especially with applicative combinators, where sequencing and choice are interleaved:

(p <|> q) <*> (x <|> y)
-- expands to
(p <*> x) <|> (p <*> y) <|>
(q <*> x) <|> (q <*> y)

expanding this produces lots of rules and surely some duplicate work in the table generation, but I haven't seen anyone talk about this before

(one way to tame the duplication is by introducing nonterminals just to group items, but this runs the risk of introducing ambiguity in an LR(1) grammar, and, uh, I don't think it actually saves the generator much if any work)

6
1
6
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
okay, this is the best i can do :D yes i gratuitously added a tiny bit of blur to the rails to make them look rounded …
6
1
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
here's a sketch of a flying (grade-separated) junction, super loosely modeled after the LGV north of Fretin (https://en.wikipedia.org/wiki/File:Fretin-triangle-diagram.svg) (that SVG itself is approximate: the vertical routes are nearly touching for most of their length on the real track. and the scale I chose is obviously wrong, just to illustrate to the rail rendering, otherwise it would be too tiny to make out.) this only required three paths: one for the bridges, and two for the lower layer, alternating at each turnout having fewer paths is mostly nicer for editing: being able to fit additional track in without having to do a whole bunch more cloning and masking in Inkscape ^^;
en.wikipedia.org
6
3
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago

remember to maintain adequate ecosystem diversity in your last used signal stickers!

5
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
there may be some way to make the rails interact to automatically put check rails on crossings XOR switches (you would have to choose) some kind of blur/dilate filter detecting when paths cross nearby and filling in the check rails i could maaaaybe even see some trickery with circular blur leading to some kind of flare at the end of the check rails … give it a little gradient, somehow use that to taper it off but it wouldn't be as nice as having the markers at the end of the path, like this does
3
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
right now this is very much a manual process: duplicate the paths from the ordinary route, trim them down, add them to the groups/clones/whatnot (in Inkscape you can double click on a path to insert a node along the path, then delete the other nodes) you could imagine an algorithm that calculates intersections to lay these check rails automatically: calculate whether it is a crossing or a switch/turnout, calculate how far away each stroke should go, and add those paths to the layout with similar algorithms, you could create the active elements too, but it would require some work: Bézier subpaths and interpolation for flexing rails (either switch points or stub switches), and some geometry to lay out swingnose crossings. all types of active elements also require modifications to the mask that provides for the flange clearance, at least for ideal geometry
3
1
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
now with 50% fewer derails! still sticking to plain strokes, it's possible to implement check/guard/wing rails, and it makes it look a lot more convincing active switching elements will require actual scripting, but these check rails just require extracting subsets of each path to mark around each junction (yes, they use markers on the ends like the bridges) this is my silly layout just for testing, don't mind how sharp the curves are for the switch, there is a mask that removes the guard rail from the area where the routes intersect for the three-way switch, it needs two masks (and five paths): one to select no intersections again, and another to select 2-but-not-3 intersections, to paint the wing rails on the inner V
3
2
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
okay i maayyy have lied there. just a tiny little bit.
3
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
ah, fun, there is a marker-pattern in the spec but i don't think anything supports it … https://www.w3.org/TR/svg-markers/#RepeatingMarkers it would be perfect for detailed ties that said, i might have ways to hack around it … :neobot_thinking:
w3.org

SVG Markers

3
2
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 9mo ago

thinking again about how natural transformations can really be thought of as natTrans :: (forall x y. (x -> y) -> f x -> g y)

subject to a simple coherence condition: fmap f . natTrans g . fmap h = natTrans (f . g . h)

or alternatively that fmap f . natTrans id = natTrans f = natTrans id . fmap f

basically meaning that the mapping (x -> y) is not sequenced with the natural transformation f ~> g in either direction, but integral to it

and it's just the tendency towards simpler primitives that is the reason we have natural transformations explained as (forall x. f x -> g x)

7
3
1
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago

wonder how feasible it would be to do a whole-program kind of taint analysis to see which values of known types could possibly come from FFI

still thinking about my idea of compiling PureScript directly to some intermediate representation of JavaScript JIT, making direct/unsafe use of typing information where safe

2
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
More than that, it makes the story about the lazy kind of symmetry, copying pixels around, instead of joy,— the joy of architectural symmetry being broken by shadows falling from the sun: the inflection of symmetry by the inexorable forces of nature. Of course, raw accuracy is not the goal of art. Telling a story is. Artforms have their own language, techniques, and craftsmanship that frame the art more than accuracy. And usually it is pretty clear when certain kinds of accuracy get in the way of telling your story. But on the whole? Being accurate contributes to a work of art's feeling whole, feeling satisfying. It makes it not just compelling but persuasive. It reflects pride in our work and why we do it.
2
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
@dragonarchitect tongue flicks over HDMI
2
3
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
@dragonarchitect haha yeah :)
2
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
fun fact: I used the Raleway font for the headings. it has the cool crossed w glyph :)
2
4
1
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
(to my knowledge, Riverdragon is the only FRP library with this semi-synchronous nature??)
1
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
I guess my Riverdragon FRP library in PureScript is semi-synchronous? events are global effects, they aren't organized at all … but individual events do flow through the system synchronously: a node waits for all of its inputs to be updated from the event, before it updates itself for its subscribers
1
3
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
UI programming could benefit from the clarity of synchrony wonder if i could emulate that as a typed DSL in PureScript … not sure how to mint clocks as types, maybe just name them in row types?
1
2
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 5mo ago
Replying to
maybe just with existentials withClock (clock definition) \(clock :: Clock newClockVariable) -> ...
1
1
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 6mo ago
Replying to
@PolyWolf :blobhaj_heart_trans:
1
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 6mo ago
Replying to
@lambdatotoro@chaos.social verisimilitude. probably not, but it's a fun word.
1
0
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 30mo ago
Replying to
@sjolsen shit, what do i put here? :blobPikaConfused:
4
1
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 31mo ago
Replying to
@PurpleStephyr wow that sounds like a mess …
1
1
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 31mo ago
Replying to
@amyipdev@blahaj.zone let me know if I can help :) i uh … basically had to teach my peers about LR parsing since our prof didn't explain it well either
0
1
0
0
Open post
Verity :transHaskell:​:verifiedtransfem: @monoidmusician@tech.lgbt
· 7mo ago
Replying to
@vie@hachyderm.io pretty :)
0
1
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 02:09:52 UTC