Intentionally Fusing Direct Manipulations into SVG Programs
Bidirectional live programming is a programming paradigm that enhances the developer experience by allowing direct modifications to the output, with changes instantly reflected back to the source program. Existing operation-based approaches allow modifying the constant values and expressions of prog...
Saved in:
| Main Authors: | , , , |
|---|---|
| Format: | Article |
| Language: | English |
| Published: |
MDPI AG
2025-02-01
|
| Series: | Information |
| Subjects: | |
| Online Access: | https://www.mdpi.com/2078-2489/16/3/169 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| _version_ | 1850203707671576576 |
|---|---|
| author | Tao Zan Xing Zhang Xiao He Zhenjiang Hu |
| author_facet | Tao Zan Xing Zhang Xiao He Zhenjiang Hu |
| author_sort | Tao Zan |
| collection | DOAJ |
| description | Bidirectional live programming is a programming paradigm that enhances the developer experience by allowing direct modifications to the output, with changes instantly reflected back to the source program. Existing operation-based approaches allow modifying the constant values and expressions of programs, while they lack control over modifications originating from multiple updatable locations. To control the updatability of the source program, our approach introduces non-updatable expressions, which guide the fusion of updates to the intended locations. The correctness properties, <span style="font-variant: small-caps;">GetPut</span> and <span style="font-variant: small-caps;">WeakPutGet</span>, ensure output consistency. We have implemented a prototype, FuseSVG, and tested it with 14 nontrivial SVG-drawing benchmarks, demonstrating the effectiveness of our approach. |
| format | Article |
| id | doaj-art-267ee5fe253041e98ee960ef071dddcd |
| institution | OA Journals |
| issn | 2078-2489 |
| language | English |
| publishDate | 2025-02-01 |
| publisher | MDPI AG |
| record_format | Article |
| series | Information |
| spelling | doaj-art-267ee5fe253041e98ee960ef071dddcd2025-08-20T02:11:26ZengMDPI AGInformation2078-24892025-02-0116316910.3390/info16030169Intentionally Fusing Direct Manipulations into SVG ProgramsTao Zan0Xing Zhang1Xiao He2Zhenjiang Hu3School of Mathematics and Information Engineering, Longyan University, Longyan 364012, ChinaSchool of Computer Science, Peking University, Beijing 100871, ChinaSchool of Computer and Communication Engineering, University of Science and Technology of Beijing, Beijing 100083, ChinaSchool of Computer Science, Peking University, Beijing 100871, ChinaBidirectional live programming is a programming paradigm that enhances the developer experience by allowing direct modifications to the output, with changes instantly reflected back to the source program. Existing operation-based approaches allow modifying the constant values and expressions of programs, while they lack control over modifications originating from multiple updatable locations. To control the updatability of the source program, our approach introduces non-updatable expressions, which guide the fusion of updates to the intended locations. The correctness properties, <span style="font-variant: small-caps;">GetPut</span> and <span style="font-variant: small-caps;">WeakPutGet</span>, ensure output consistency. We have implemented a prototype, FuseSVG, and tested it with 14 nontrivial SVG-drawing benchmarks, demonstrating the effectiveness of our approach.https://www.mdpi.com/2078-2489/16/3/169bidirectional live programmingmanipulation-directed programmingSVG |
| spellingShingle | Tao Zan Xing Zhang Xiao He Zhenjiang Hu Intentionally Fusing Direct Manipulations into SVG Programs Information bidirectional live programming manipulation-directed programming SVG |
| title | Intentionally Fusing Direct Manipulations into SVG Programs |
| title_full | Intentionally Fusing Direct Manipulations into SVG Programs |
| title_fullStr | Intentionally Fusing Direct Manipulations into SVG Programs |
| title_full_unstemmed | Intentionally Fusing Direct Manipulations into SVG Programs |
| title_short | Intentionally Fusing Direct Manipulations into SVG Programs |
| title_sort | intentionally fusing direct manipulations into svg programs |
| topic | bidirectional live programming manipulation-directed programming SVG |
| url | https://www.mdpi.com/2078-2489/16/3/169 |
| work_keys_str_mv | AT taozan intentionallyfusingdirectmanipulationsintosvgprograms AT xingzhang intentionallyfusingdirectmanipulationsintosvgprograms AT xiaohe intentionallyfusingdirectmanipulationsintosvgprograms AT zhenjianghu intentionallyfusingdirectmanipulationsintosvgprograms |