summaryrefslogblamecommitdiffstats
path: root/2024/info/transducers-before.md
blob: 161e3d53709d28300c9b99388977e562ae1e229b (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                                                                 
                                                                              
                                                        
                       
 



 

      












                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    


     












                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

                                            
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc  ]]
Format: 27-min talk			; Q&A: BigBlueButton conference room  
Etherpad: <https://pad.emacsconf.org/2024-transducers>  
Status: TO_CAPTION_QA  





# Talk

<div class="vid"><video controls preload="none" id="transducers-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="transducers-mainVideo" data="""
00:00.000 Intro
00:41.520 What are transducers?
03:27.590 Common issues
05:47.280 Transducers
07:35.280 Using transducers
09:52.625 A more involved example with comp
11:49.333 In Emacs
14:29.469 Hash tables
14:58.040 Clarity
15:55.800 How do transducers work?
20:00.520 Transducers in the wild - CSV
26:03.240 Issues and next steps

"""]]<div></div>Duration: 26:51 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-transducers">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.webm">Download --main.webm (52MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--silence.webm">Download --silence.webm</a></li></ul></div></div>

# Q&A

<div class="vid"><video controls preload="none" id="transducers-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="transducers-qanda" data="""
01:09.920 Q: When I tried comparing transducers.el to cl-lib and dash (benchmark-compiled), I got the following results
05:40.840 Q: Do you know of any theoretical texts on transducers?
07:04.720 Q: Did you think about [compiler features, macros] viz your cl, fennel, elisp, porting of your transducers?
08:16.579 Q: Does t-buffer-read provide a lazy stream that\'s linewise, or charwise, or do something else entirely?
09:09.424 Q: Can the Elisp library be combined with the stream.el API or seq in general?
11:47.543 Q: How does one debug a t-comp expression? Can you single step and see intermediate results of the different statements you declare?
14:42.495 Q: Is there a path for transducers to enable elisp processing of otherwise overly large datasets as if just normal Emacs \"buffers\" (i.e. just pulling one thing at a time so essentially stream-like under the hood but buffer-like in interface), with none of the usual perf issues with a traditional buffer structure?
16:51.200 Q: Is there an option to read a csv/json and produce an alist or plist instead of a hash table for an entry?
17:50.520 Q: Is the common lisp version ready for 'production' use? Is it complete enough and the API stable enough?
18:17.477 Q: Do we need a pre-written \"t-\" version for every already existing reducing function like + or is there a function to construct them from already defined reducer 2-arg functions?
20:26.320 Q: Is the compelling argument for transducers is that it's a better abstraction?

"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="transducers-qanda-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.opus"></audio></div><div></div>Duration: 25:24 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-transducers">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--main--chapters.vtt">Download --answers--main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--main.vtt">Download --answers--main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.opus">Download --answers.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.webm">Download --answers.webm (57MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page -->