-
Notifications
You must be signed in to change notification settings - Fork 0
/
refs.bib
984 lines (901 loc) · 56 KB
/
refs.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
@book{abelson1996,
title = {Structure and Interpretation of Computer Programs},
author = {Abelson, Harold and Sussman, Gerald Jay and Sussman, Julie},
date = {1996},
publisher = {{Justin Kelly}},
url = {http://books.google.com/books?hl=en&lr=&id=MXZQAwAAQBAJ&oi=fnd&pg=PR9&dq=%22Naming+and+the+Environment+.+.+.+.+.+.+.+.+.+.%22+%22Linear+Recursion+and+Iteration+.+.+.+.+.+.+.+.%22+&ots=oZtIMVXZsu&sig=33_c3703q_8uXEZBXObR87_qnr8},
urldate = {2017-07-02},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Books/1996, Abelson. Structure and Interpretation of Computer Programs.pdf}
}
@book{agha1986,
title = {Actors: A Model of Concurrent Computation in Distributed Systems},
shorttitle = {Actors},
author = {Agha, Gul A.},
date = {1986},
publisher = {{MIT Press}},
location = {{Cambridge, Mass}},
file = {/home/iqb/Zotero/storage/XRGT2WSU/Deprecating the Observer Pattern (Maier, 2010).pdf},
isbn = {978-0-262-01092-4},
keywords = {Distributed processing,Electronic data processing,Parallel processing (Electronic computers)},
pagetotal = {144},
series = {The {{MIT Press}} Series in Artificial Intelligence}
}
@inproceedings{albinson2016a,
title = {Enhancing {{Programming Lectures Using Interactive Web}}-{{Based Lecture Slides}}},
author = {Albinson, Paul},
date = {2016},
url = {http://eprints.bournemouth.ac.uk/24735/},
file = {/home/iqb/Zotero/storage/7JM4NMI3/Albinson, 2016. Enhancing Programming Lectures Using Interactive Web-Based Lecture Slides..pdf;/home/iqb/Zotero/storage/2EIRF7E6/24735.html}
}
@collection{assayag2009,
title = {New Computational Paradigms for Computer Music},
editor = {Assayag, Gérard and Gerzso, Andrew and {IRCAM (Research institute : France)}},
date = {2009},
publisher = {{Delatour ; IRCAM}},
location = {{Sampzon; Paris}},
isbn = {978-2-7521-0054-2},
langid = {english},
note = {OCLC Number: 436627773},
pagetotal = {186},
series = {Collection {{Musique}}/Sciences}
}
@article{bainomugisha2013,
title = {A Survey on Reactive Programming},
author = {Bainomugisha, Engineer and Carreton, Andoni Lombide and Cutsem, Tom Van and Mostinckx, Stijn and de Meuter, Wolfgang},
date = {2013},
journaltitle = {ACM Computing Surveys (CSUR)},
volume = {45},
pages = {52},
url = {http://dl.acm.org/citation.cfm?id=2501666},
urldate = {2017-01-24},
file = {/home/iqb/Zotero/storage/595QT7JA/Bainomugisha et al, 2013. A survey on reactive programming.pdf},
number = {4}
}
@article{belikov2013,
title = {A Survey of High-Level Parallel Programming Models},
author = {Belikov, Evgenij and Deligiannis, Pantazis and Totoo, Prabhat and Aljabri, Malak and Loidl, Hans-Wolfgang},
date = {2013},
journaltitle = {Heriot-Watt University, Edinburgh, UK},
url = {http://www.macs.hw.ac.uk/cs/techreps/docs/files/HW-MACS-TR-0103.pdf},
urldate = {2017-06-30},
file = {/home/iqb/Zotero/storage/F453SQHQ/Belikov et al. - 2013 - A survey of high-level parallel programming models.pdf}
}
@report{berry1989,
title = {Real Time Programming: {{Special}} Purpose or General Purpose Languages},
shorttitle = {Real Time Programming},
author = {Berry, Gerard},
date = {1989},
pages = {12},
institution = {{Institut National de Recherche en Informatique et en Automatique}},
location = {{Valbonne, France}},
url = {https://hal.inria.fr/inria-00075494/document},
file = {/home/iquabius/mega/Files/ZotFiles/Berry-1989-Real_time_programming.pdf},
langid = {english},
number = {RR-1065},
series = {Inria-00075494},
type = {Relatório de Pesquisa}
}
@book{blackheath2016,
title = {Functional {{Reactive Programming}}},
author = {Blackheath, Stephen and Jones, Anthony},
date = {2016-08-31},
publisher = {{Manning Publications}},
location = {{Shelter Island, NY, USA}},
abstract = {Most software applications must handle user or system-generated events. The most widely-accepted event handling model is the Observer pattern, in which an object "listens" for changes in the application's state and then reacts by executing a unit of code—the problems is that this approach is prone to bugs.Functional Reactive Programming (FRP) is an alternative to the Observer pattern. It's designed to deal with events as a stream of values over time rather than as a series of unique responses to discrete changes in state, keeping logic tidy and eliminating the bugs that plague event handling code with no loss of expressiveness. FRP is useful anywhere the Observer pattern is common, including user interfaces, video games, networking, and industrial applications.Functional Reactive Programming teaches the concepts and applications of FRP. It begins with a careful walk-through of the FRP core operations and introduces the concepts and techniques needed to use FRP in any language. Following easy-to-understand examples, readers will learn how to use FRP in greenfield applications and how to refactor existing applications. Along the way, the book introduces the basics of functional programming in a just-in-time style, so readers never learn anything before they need to use it. By the end of the book, readers will be able to use FRP to spend more time adding features and less time fixing problems.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.},
file = {/home/iqb/Zotero/storage/NTDP2SXB/Blackheath et al, 2016. Functional Reactive Programming. Manning Publications.pdf},
isbn = {978-1-63343-010-5},
keywords = {interests:programming,needs metadata,review,writings:books},
langid = {english},
pagetotal = {320}
}
@online{braithwaite2007,
title = {Why {{Why Functional Programming Matters Matters}}},
author = {Braithwaite, Reginald},
date = {2007},
url = {http://raganwald.com/2014/12/20/why-why-functional-programming-matters-matters.html},
urldate = {2017-06-12},
file = {/home/iqb/Zotero/storage/73KKCAK5/why-why-functional-programming-matters-matters.html}
}
@thesis{carvalho1999,
title = {Inferência de Tipos e de Fluxos de Dados para Sistemas de Programação em Lógica},
author = {de Carvalho, Cedric Luiz},
date = {1999},
institution = {{Universidade Federal de Minas Gerais}},
location = {{Belo Horizonte}},
url = {http://www.inf.ufg.br/~cedric/downloads/tese.pdf},
file = {/home/iqb/Zotero/storage/V3TKD6M8/Carvalho, 1999. Inferência de Tipos e de Fluxos de Dados para Sistemas de Programação em Lógica. Universidade Federal de Minas Gerais.pdf},
langid = {portuguese},
pagetotal = {223},
type = {Doutorado em Ciência da Computação}
}
@inproceedings{clarke2003,
title = {Using the Cognitive Dimensions Framework to Evaluate the Usability of a Class Library},
booktitle = {Proceedings of the {{First Joint Conference}} of {{EASE}} and {{PPIG}}},
author = {Clarke, Steven and Becker, Curtis},
date = {2003},
pages = {359--366},
location = {{Keele, UK}},
url = {https://pdfs.semanticscholar.org/1193/4bc6a4cb76700c38d86c7106b09fe2147d3d.pdf},
eventtitle = {15th {{Workshop}} of the {{Psychology}} of {{Programming Interest Group}}},
file = {/home/iqb/Zotero/storage/J4RISA7P/Clarke and Becker - 2003 - Using the cognitive dimensions framework to evalua.pdf},
langid = {english}
}
@inproceedings{cooper2006,
title = {Embedding Dynamic Dataflow in a Call-by-Value Language},
booktitle = {{{ESOP}}},
author = {Cooper, Gregory H. and Krishnamurthi, Shriram},
date = {2006},
volume = {3924},
pages = {294--308},
publisher = {{Springer}},
url = {http://link.springer.com/content/pdf/10.1007/11693024.pdf#page=305},
file = {/home/iqb/Zotero/storage/9X3KN3GD/Cooper and Krishnamurthi - 2006 - Embedding dynamic dataflow in a call-by-value lang.pdf;/home/iqb/Zotero/storage/67UN6JJ9/11693024.html}
}
@inproceedings{courtney2003,
title = {Functionally Modeled User Interfaces},
booktitle = {{{DSV}}-{{IS}}},
author = {Courtney, Antony},
date = {2003},
volume = {2844},
pages = {107--123},
publisher = {{Springer}},
url = {http://link.springer.com/content/pdf/10.1007/b13960.pdf#page=120},
file = {/home/iqb/Zotero/storage/7G55I5HP/Courtney - 2003 - Functionally modeled user interfaces.pdf;/home/iqb/Zotero/storage/PGQ4995X/b13960.html}
}
@article{czaplicki2012,
title = {Elm: {{Concurrent FRP}} for {{Functional GUIs}}},
shorttitle = {Elm},
author = {Czaplicki, Evan},
date = {2012},
journaltitle = {Senior thesis, Harvard University},
url = {https://www.seas.harvard.edu/sites/default/files/files/archived/Czaplicki.pdf},
urldate = {2017-06-12},
file = {/home/iqb/Zotero/storage/A5FHQHWQ/Elm - Concurrent FRP for Functional GUIs, by Evan Czaplicki.pdf}
}
@inproceedings{edwards2009,
title = {Coherent {{Reaction}}},
booktitle = {Proceedings of the 24th {{ACM SIGPLAN Conference Companion}} on {{Object Oriented Programming Systems Languages}} and {{Applications}}},
author = {Edwards, Jonathan},
date = {2009},
pages = {925--932},
publisher = {{ACM}},
location = {{New York, NY, USA}},
doi = {10.1145/1639950.1640058},
url = {http://doi.acm.org/10.1145/1639950.1640058},
abstract = {Side effects are both the essence and bane of imperative programming. The programmer must carefully coordinate actions to manage their side effects upon each other. Such coordination is complex, error-prone, and fragile. Coherent reaction is a new model of change-driven computation that coordinates effects automatically. State changes trigger events called reactions that in turn change other states. A coherent execution order is one in which each reaction executes before any others that are affected by its changes. A coherent order is discovered iteratively by detecting incoherencies as they occur and backtracking their effects. Unlike alternative solutions, much of the power of imperative programming is retained, as is the common sense notion of mutable state. Automatically coordinating actions lets the programmer express what to do, not when to do it. Coherent reactions are embodied in the Coherence language, which is specialized for interactive applications like those common on the desktop and web. The fundamental building block of Coherence is the dynamically typed mutable tree. The fundamental abstraction mechanism is the virtual tree, whose value is lazily computed, and whose behavior is generated by coherent reactions.},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/Programação Reativa/Outros/Coherent Reaction (Jonathan Edwards, 2009).pdf},
isbn = {978-1-60558-768-4},
keywords = {bidirectional functions,Functional Reactive Programming,interactive systems,reactive systems,synchronous reactive programming,trees},
series = {{{OOPSLA}} '09}
}
@inproceedings{elliott1997,
title = {Functional Reactive Animation},
booktitle = {{{ACM SIGPLAN Notices}}},
author = {Elliott, Conal and Hudak, Paul},
date = {1997},
volume = {32},
pages = {263--273},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=258973},
urldate = {2017-06-12},
file = {/home/iqb/Zotero/storage/4V2EG7GM/Functional Reactive Animation (Conal Elliot, 1997).pdf}
}
@book{felleisen2001,
title = {How to Design Programs: An Introduction to Programming and Computing},
shorttitle = {How to Design Programs},
author = {Felleisen, Matthias},
date = {2001},
publisher = {{MIT Press}},
url = {http://books.google.com/books?hl=en&lr=&id=Eg1Tu9Ds8ugC&oi=fnd&pg=PR13&dq=%22Designing+Conditional%22+%22Mixing+and+Distinguishing%22+%22Processing+Arbitrarily+Large%22+%22Lists+that+Contain%22+%22Designing+Complex%22+%22Compound+Data,+Part+1:%22+%22Extended+Exercise:+Moving%22+%22Designing+Functions+for+Self-Referential+Data%22+&ots=4YQYxcUKnu&sig=AHDBgvI_mfUik0C2sZEY3ffrMRU},
urldate = {2017-07-31},
file = {/home/iqb/Zotero/storage/GM87MJ62/Felleisen, 2001. How to design programs.pdf;/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/xOutros/Ensino de Programação/Felleisen, 2001. How to design programs.pdf}
}
@inproceedings{fischer2007,
title = {Tasks: {{Language Support}} for {{Event}}-Driven {{Programming}}},
shorttitle = {Tasks},
booktitle = {Proceedings of the 2007 {{ACM SIGPLAN Symposium}} on {{Partial Evaluation}} and {{Semantics}}-Based {{Program Manipulation}}},
author = {Fischer, Jeffrey and Majumdar, Rupak and Millstein, Todd},
date = {2007},
pages = {134--143},
publisher = {{ACM}},
location = {{New York, NY, USA}},
doi = {10.1145/1244381.1244403},
url = {http://doi.acm.org/10.1145/1244381.1244403},
abstract = {The event-driven programming style is pervasive as an efficient method for interacting with the environment. Unfortunately, the event-driven style severely complicates program maintenance and understanding, as it requires each logical flow of control to be fragmented across multiple independent callbacks. We propose tasks as a new programming model for organizing event-driven programs. Tasks are a variant of cooperative multi-threading and allow each logical control flow to be modularized in the traditional manner, including usage of standard control mechanisms like procedures and exceptions. At the same time, by using method annotations, task-based programs can be automatically and modularly translated into efficient event-based code, using a form of continuation passing style (CPS) translation. A linkable scheduler architecture permits tasks to be used in many different contexts. We have instantiated our model as a backward-compatible extension to Java, called TaskJava. We illustrate the benefits of our language through a formalization in an extension to Featherweight Java, and through a case study based on an open-source web server.},
isbn = {978-1-59593-620-2},
series = {{{PEPM}} '07}
}
@online{gamma1995,
title = {Design {{Patterns}}: {{Elements}} of {{Reusable Object}}-{{Oriented Software}}},
shorttitle = {Design {{Patterns}}},
author = {Gamma, E.},
date = {1995},
journaltitle = {Reading, MA: Addison-Wesley},
url = {http://papers.cumincad.org/cgi-bin/works/Show?5986},
urldate = {2017-07-01},
abstract = {The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out they've known about patterns all along. It's just that they've never considered them as such, or tried to centralize the idea behind a given pattern so that it will be easily reusable.},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Books/1995, GoF. Design Patterns, Elements of Reusable Object-Oriented Software.pdf;/home/iqb/Zotero/storage/2D4N6HG4/Show.html}
}
@article{gammie2009,
title = {Concepts, {{Techniques}}, and {{Models}} of {{Computer Programming}}},
author = {Gammie, Peter and Van, Peter and Roy, Seif and others},
date = {2009},
journaltitle = {Journal of Functional Programming},
volume = {19},
pages = {254},
url = {http://search.proquest.com/openview/be7a797ab3e3cbf9a913e9de6f7180ab/1?pq-origsite=gscholar&cbl=37264},
file = {/home/iqb/Zotero/storage/X87HQZC4/1.html},
number = {2}
}
@article{gavidia1997,
title = {Programação funcional usando Java},
author = {Gavidia, Zavaleta and Juan, Jorge},
date = {1997},
url = {http://www.lume.ufrgs.br/handle/10183/20923},
urldate = {2017-01-25},
abstract = {Desde a introdução da World Wide Web para o mundo nos inícios de 1990, usando a Internet como uma rede para transferir dados, empregando uma forma de expressão chamada de Hipertexto, a qual liga as informações relacionadas e combinadas com multimídia, os Webs resultantes têm aberto novas possibilidades de expressão e comunicação. A quantidade de tráfego de dados na Web e o número de computadores ofertando informação vem crescendo dramaticamente, mas falta expressividade e qualidade interativa na Web; ainda assim, vem despertando um grande interesse instrutivo e útil. O ilimitado universo de possibilidades da Web para acessar aplicações seguras, portáveis e independentes para cada plataforma em hardware e software e que possam chegar a qualquer lugar sobre a Internet, surge a linguagem Java da Sun Microsystem [DEC 95]. A habilidade de Java para executar código sobre hosts remotos de uma maneira segura é uma necessidade crítica para muitas organizações de desenvolvedores de software e provedores de Internet na atualidade [ARN 96]. A linguagem Java é realmente valiosa para redes de ambientes distribuídos como a Web. Entretanto, Java vai mais longe deste domínio ao fornecer uma linguagem de programação de propósito geral poderosa e adequada para construir uma variedade de aplicações que não dependem das características da rede [ARN 96]. O modelo imperativo tradicional é padrão e quase universal vem tendo uma profunda influência sobre a natureza das linguagens de programação e ainda continua a tendência de sempre ter uma direção para fornecer mais e mais formas abstratas de resolver problemas, tentando mudar a simplicidade na programação com rapidez na execução de programas [FIE 88]. Parece. portanto, natural e quase inevitável o desenvolvimento em tecnologia das linguagens. Os amplos esforços gastos em desenvolver métodos rigorosos para especificar, produzir, verificar software e produtos de hardware, mas os esforços foram restringidos às linguagens convencionais. A aproximação natural de Von Neumann tem contribuído a esta falha desde a noção de um estado global que pode mudar arbitrariamente em cada passo da computação e vem sendo provado ser intuitivamente e matematicamente intratável. Esta falha tem tornado ao software o componente mais caro para muitos sistemas de computação [GLA 84]. Os primeiros passos para solucionar estas falhas foram tomadas pela programação estruturada ao trabalhar nas áreas de especificação formal, verificação de programas e na semântica formal que ainda continuam em pesquisa. O crescimento numeroso de pesquisadores têm certeza de que os problemas originam-se da aproximação fundamental à filosofia de Von Neumann e estão voltando-se para uma linguagem de um novo tipo. Uma de tais aproximações é a tomada pelas linguagens de programação funcional [PLA 93]. Num programa funcional, o resultado de uma função chamada é unicamente determinado pelos valores atuais dos argumentos da função [PLA 93]. As linguagens de programação funcional têm a vantagem que elas oferecem um uso geral das funções, o qual não esta disponível nas linguagens imperativas clássicas. Devido a ausência de efeitos colaterais, as provas de correção dos programas são mais fáceis que nas linguagens imperativas. As funções podem ser avaliadas em qualquer ordem assim como a disponibilidade total das mesmas, a nova geração de linguagens funcionais também oferecem uma elegante noção de uso amigável [PLA 93]. Os padrões e a proteção que fornecem ao usuário um acesso simples a estruturas de dados complexos, basicamente não tendo a preocupação do gerenciamento da memória, como faz a linguagem Java. O objetivo principal deste trabalho é a descrição da implementação de um Construtor de Funções Java (LispJ), usado para gerar funções Lisp em código Java utilizando a linguagem Java da Sun Microsystem como ambiente de desenvolvimento. A descrição compreende a codificação de um Interpretador Lisp da linguagem funcional LISP, e a codificação do Construtor de Funções Java visualizado através de um applet Java utilizado como interface entre o Construtor de Funções Java e o usuário sobre a Internet.},
file = {/home/iquabius/mega/Files/ZotFiles/Gavidia-1997-Programação_funcional_usando_Java.pdf;/home/iqb/Zotero/storage/83V6X32A/20923.html},
langid = {por}
}
@book{gerhardt2009,
title = {Métodos de Pesquisa},
author = {Gerhardt, Tatiana Engel and Silveira, Denise Tolfo},
date = {2009},
publisher = {{Plageder}},
url = {https://books.google.com.br/books?hl=en&lr=&id=dRuzRyEIzmkC&oi=fnd&pg=PA9&dq=M%C3%A9todos+de+pesquisa+gerhardt+2009&ots=91XfUXoqOJ&sig=qdHyWHY1CU9VBo1iOrJYXHV5sNo},
file = {/home/iqb/Zotero/storage/2SC4W6H6/books.html}
}
@article{gil1994,
title = {Como Elaborar Projetos de Pesquisa. {{São Paulo}}: {{Atlas}}, 2002},
shorttitle = {Como Elaborar Projetos de Pesquisa. {{São Paulo}}},
author = {Gil, Antonio Carlos},
date = {1994},
journaltitle = {Métodos e técnicas de pesquisa social},
volume = {5},
pages = {64--73}
}
@article{green1989,
title = {Cognitive Dimensions of Notations},
author = {Green, Thomas RG},
date = {1989},
journaltitle = {People and computers V},
pages = {443--460},
url = {https://books.google.com/books?hl=en&lr=&id=BTxOtt4X920C&oi=fnd&pg=PA443&dq=cognitive+dimensions+of+notations&ots=OFkf4wr2Ul&sig=VgGV-DcmRzWLgzchn0koDgu_hiU},
abstract = {‘Cognitive dimensions’ are features of computer languages considered purely as information structures or notations. They therefore apply to many types of language—interactive or programming, high or low level, procedural or declarative, special purpose or general purpose. They are ‘cognitive’ dimensions because they control how (or whether) the preferred cognitive strategy for design-like tasks can be adopted: it has repeatedly been shown that users prefer opportunistic planning rather than any fixed strategy such as top-down development. The dimension analysis makes it easier to compare dissimilar interfaces or languages, and also helps to identify the relationship between support tools and programming languages: the support tools make it possible to use opportunistic planning with notations that would otherwise inhibit it.},
file = {/home/iqb/Zotero/storage/3DIRE6G5/Green - 1989 - Cognitive dimensions of notations.pdf;/home/iqb/Zotero/storage/HREG7H93/books.html}
}
@article{green1996d,
title = {Usability Analysis of Visual Programming Environments: A ‘Cognitive Dimensions’ Framework},
shorttitle = {Usability Analysis of Visual Programming Environments},
author = {Green, Thomas R. G. and Petre, Marian},
date = {1996},
journaltitle = {Journal of Visual Languages \& Computing},
volume = {7},
pages = {131--174},
url = {http://www.sciencedirect.com/science/article/pii/S1045926X96900099},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/Dimensões Cognitivas de Notações/1996. Green e Petre. Usability analysis of visual programming environments\: a ‘cognitive dimensions’ framework.pdf;/home/iqb/Zotero/storage/RI59BGNI/S1045926X96900099.html},
number = {2}
}
@inproceedings{green2000,
title = {Instructions and Descriptions: Some Cognitive Aspects of Programming and Similar Activities},
shorttitle = {Instructions and Descriptions},
booktitle = {Proceedings of the Working Conference on {{Advanced}} Visual Interfaces},
author = {Green, Thomas RG},
date = {2000},
pages = {21--28},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=345233},
file = {/home/iqb/Zotero/storage/NA7DEZW4/Green - 2000 - Instructions and descriptions some cognitive aspe.pdf;/home/iqb/Zotero/storage/K9SEVXW4/citation.html}
}
@inproceedings{haller2016,
title = {Reactive {{Async}}: Expressive Deterministic Concurrency},
shorttitle = {Reactive {{Async}}},
booktitle = {Proceedings of the 2016 7th {{ACM SIGPLAN Symposium}} on {{Scala}}},
author = {Haller, Philipp and Geries, Simon and Eichberg, Michael and Salvaneschi, Guido},
date = {2016},
pages = {11--20},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=2998396},
file = {/home/iquabius/mega/Files/ZotFiles/Haller-2016-Reactive_Async.pdf;/home/iqb/Zotero/storage/NCBT2BZV/citation.html}
}
@collection{hudak2008,
title = {Practical Aspects of Declarative Languages: 10th International Symposium, {{PADL}} 2008, {{San Francisco}}, {{CA}}, {{USA}}, {{January}} 7-8, 2008: Proceedings},
shorttitle = {Practical Aspects of Declarative Languages},
editor = {Hudak, Paul and Warren, David S.},
date = {2008},
publisher = {{Springer}},
location = {{Berlin ; New York}},
file = {/home/iquabius/mega/Files/ZotFiles/Hudak-2008-Practical_aspects_of_declarative_languages.pdf},
isbn = {978-3-540-77441-9},
keywords = {Programming languages (Electronic computers),Semantics},
note = {OCLC: ocn190795631},
number = {4902},
pagetotal = {332},
series = {Lecture Notes in Computer Science}
}
@article{hughes1989,
title = {Why Functional Programming Matters},
author = {Hughes, John},
date = {1989},
journaltitle = {The computer journal},
volume = {32},
pages = {98--107},
url = {https://academic.oup.com/comjnl/article-abstract/32/2/98/543535},
file = {/home/iquabius/mega/Files/ZotFiles/Hughes-1989-Why_functional_programming_matters.pdf;/home/iqb/Zotero/storage/TQH8KE6P/Why-Functional-Programming-Matters.html},
number = {2}
}
@incollection{hughes1990,
title = {Why Functional Programming Matters},
booktitle = {Research {{Topics}} in {{Functional Programming}}},
author = {Hughes, R. John M.},
date = {1990},
pages = {17--42},
publisher = {{Addison-Wesley}},
location = {{Reading, Pennsylvania}},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/Programação Funcional/1990. Hughes, John. Why Functional Programming Matters. University of Glasgow.pdf}
}
@inproceedings{jarvi2008,
title = {Property Models: From Incidental Algorithms to Reusable Components},
shorttitle = {Property Models},
booktitle = {Proceedings of the 7th {{International Conference}} on {{Generative Programming}} and {{Component Engineering}}},
author = {Järvi, Jaakko and Marcus, Mat and Parent, Sean and Freeman, John and Smith, Jacob N.},
date = {2008},
pages = {89--98},
publisher = {{ACM}},
location = {{Nashville, TN, USA}},
doi = {10.1145/1449913.1449927},
url = {http://portal.acm.org/citation.cfm?doid=1449913.1449927},
urldate = {2017-06-12},
file = {/home/iqb/Zotero/storage/IKPWHJRM/Property models - from incidental algorithms to reusable components.pdf},
isbn = {978-1-60558-267-2},
langid = {english}
}
@article{jose2014,
title = {{{OLSR Fuzzy Cost}} ({{OLSR}}-{{FC}}): Uma Extensão Ao Protocolo {{OLSR}} Baseada Em Lógica {{Fuzzy}} e Aplicada à Prevenção de Nós Egoístas},
shorttitle = {{{OLSR Fuzzy Cost}} ({{OLSR}}-{{FC}})},
author = {José, Diógenes Antonio Marques and others},
date = {2014},
url = {http://repositorio.bc.ufg.br/xmlui/handle/ri/10452},
file = {/home/iqb/Zotero/storage/VBZDAPZ2/José et al, 2014. OLSR Fuzzy Cost (OLSR-FC)..pdf;/home/iqb/Zotero/storage/8R898JWH/10452.html}
}
@inproceedings{kambona2013,
title = {An Evaluation of Reactive Programming and Promises for Structuring Collaborative Web Applications},
booktitle = {Proceedings of the 7th {{Workshop}} on {{Dynamic Languages}} and {{Applications}}},
author = {Kambona, Kennedy and Boix, Elisa Gonzalez and De Meuter, Wolfgang},
date = {2013},
pages = {3},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=2489802},
urldate = {2017-01-24},
file = {/home/iquabius/mega/Files/ZotFiles/Kambona-2013-An_evaluation_of_reactive_programming_and_promises_for_structuring.pdf}
}
@thesis{kiss2014,
title = {Comparison of {{Object}}-{{Oriented}} and {{Functional Programming}} for {{GUI Development}}},
author = {Kiss, Eugen},
date = {2014},
institution = {{Leibniz Universität Hannover}},
location = {{Hannover, Germany}},
url = {http://www.eugenkiss.com/projects/thesis.pdf},
abstract = {Traditionally, the object-oriented paradigm has been considered a good fit for designing and developing graphical user interfaces ( GUIs ). A large number of GUI frameworks are based on object oriented programming ( OOP ). Recently, functional programming ( FP ) has become more popular for mainstream development. This thesis is concerned with a comparison of the object-oriented approach and the functional approach applied to the development of graphical user interfaces. The languages and libraries which serve as a practical testbed for the comparison are Java/Java FX on the object-oriented side, and Scala/Scala FX , Scala. Rx , React FX and Elm on the functional side.},
file = {/home/iqb/Zotero/storage/H8PPZB8N/Kiss - 2014 - Comparison of Object-Oriented and Functional Progr.pdf},
langid = {english},
pagetotal = {123},
type = {Master of Computer Science}
}
@book{krishnamurthi2007,
title = {Programming Languages: {{Application}} and Interpretation},
shorttitle = {Programming Languages},
author = {Krishnamurthi, Shriram},
date = {2007},
publisher = {{Shriram Krishnamurthi}},
url = {http://cs.brown.edu/courses/cs173/2012/book/book.pdf},
file = {/home/iqb/Zotero/storage/MN7ARNN9/Krishnamurthi - 2007 - Programming languages Application and interpretat.pdf}
}
@article{krishnamurthi2008,
title = {Teaching {{Programming Languages}} in a {{Post}}-Linnaean {{Age}}},
author = {Krishnamurthi, Shriram},
date = {2008},
journaltitle = {SIGPLAN Notices},
volume = {43},
pages = {81--83},
issn = {0362-1340},
doi = {10.1145/1480828.1480846},
url = {http://128.148.32.110/people/sk/Publications/Papers/Published/sk-teach-pl-post-linnaean/paper.pdf},
abstract = {Programming language "paradigms" are a moribund and tedious legacy of a bygone age. Modern language designers pay them no respect, so why do our courses slavishly adhere to them? This paper argues that we should abandon this method of teaching languages, offers an alternative, reconciles an important split in programming language education, and describes a textbook that explores these matters.},
file = {/home/iqb/Zotero/storage/IBBET63R/Krishnamurthi, 2008. Teaching Programming Languages in a Post-linnaean Age.pdf},
number = {11}
}
@inproceedings{kutar2000,
title = {Cognitive Dimensions an Experience Report},
booktitle = {Proceedings of the {{Twelfth Annual Meeting}} of the {{Psychology}} of {{Programming Interest Group}}},
author = {Kutar, Maria and Britton, Carol and Wilson, Jonathan},
date = {2000},
pages = {81--98},
url = {http://www.ppig.org/papers/12th-kutar.pdf},
file = {/home/iqb/Zotero/storage/NFBCNBG5/Kutar et al. - 2000 - Cognitive dimensions an experience report.pdf}
}
@mvbook{leal2011,
title = {Produção acadêmico-científica: a pesquisa e o ensaio},
shorttitle = {Produção acadêmico-científica},
author = {Leal, Elisabeth Juchem Machado},
date = {2011},
volume = {9},
publisher = {{UNIVALI}},
location = {{Itajaí, SC}},
url = {http://livrozilla.com/doc/1378035/produ%C3%A7%C3%A3o-acad%C3%AAmico-cient%C3%ADfica--a-pesquisa-e-o-ensaio},
file = {/home/iqb/Zotero/storage/5BN35QXW/Leal, 2011. Produção acadêmico-científica.pdf},
langid = {portuguese},
number = {1},
pagetotal = {133},
series = {Cadernos de Ensino: Formação Continuada},
volumes = {9}
}
@article{leal2014,
title = {Ensino de Programação No Ensino Médio Integrado: Uma Abordagem Utilizando Padrões e Jogos Com Materiais Concretos},
shorttitle = {Ensino de Programação No Ensino Médio Integrado},
author = {Leal, Alexis Vinicius de Aquino and others},
date = {2014},
url = {http://repositorio.bc.ufg.br/tede/handle/tede/3613},
file = {/home/iqb/Zotero/storage/GD8BJ225/Leal et al, 2014. Ensino de programação no ensino médio integrado..pdf;/home/iqb/Zotero/storage/VFZRTQRW/3613.html}
}
@article{lemos2015,
title = {Web {{Service Composition}}: {{A Survey}} of {{Techniques}} and {{Tools}}},
shorttitle = {Web {{Service Composition}}},
author = {Lemos, Angel Lagares and Daniel, Florian and Benatallah, Boualem},
date = {2015-12-09},
journaltitle = {ACM Computing Surveys},
volume = {48},
pages = {1--41},
issn = {03600300},
doi = {10.1145/2831270},
url = {http://dl.acm.org/citation.cfm?doid=2856149.2831270},
urldate = {2017-06-30},
file = {/home/iqb/Zotero/storage/6WGMSNIF/LagaresCSUR2015.pdf},
langid = {english},
number = {3}
}
@book{lin2016,
title = {Building Simple Annotation Tools},
author = {Lin, Gordon},
date = {2016},
publisher = {{University of California, San Diego}},
url = {http://search.proquest.com/openview/8a1fc9d235c06c4362195bbbf03bc58a/1?pq-origsite=gscholar&cbl=18750&diss=y},
file = {/home/iqb/Zotero/storage/JJXUG9RR/Lin, 2016. Building simple annotation tools. University of California, San Diego.pdf;/home/iqb/Zotero/storage/P9NX3JGM/1.html}
}
@inproceedings{lloyd1994,
title = {Practical {{Advtanages}} of {{Declarative Programming}}},
booktitle = {{{GULP}}-{{PRODE}} (1)},
author = {Lloyd, John W.},
date = {1994},
pages = {18--30},
url = {ftp://cliplab.org/pub/papers/PARFORCE/second_review/D.WP3.1.M2.3.ps.Z}
}
@report{maier2010,
title = {Deprecating the Observer Pattern},
author = {Maier, Ingo and Rompf, Tiark and Odersky, Martin},
date = {2010},
pages = {18},
institution = {{École Polytechnique Fédérale de Lausanne (EPFL)}},
location = {{Lausanne, Switzerland}},
url = {http://infoscience.epfl.ch/record/148043},
file = {/home/iqb/Zotero/storage/63BWXN7S/Maier et al, 2010. Deprecating the observer pattern.pdf;/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/Programação Reativa/2010. Maier. Deprecating the Observer Pattern.pdf;/home/iqb/Zotero/storage/MDPGE7Z6/148043.html},
langid = {english},
number = {EPFL-REPORT-148043}
}
@online{medeiros2014,
title = {The Introduction to {{Reactive Programming}} You've Been Missing},
author = {Medeiros, André César de Souza},
date = {2014},
journaltitle = {GitHub Gist},
url = {https://gist.github.com/staltz/868e7e9bc2a7b8c1f754},
urldate = {2017-07-31},
abstract = {The introduction to Reactive Programming you've been missing},
file = {/home/iqb/Zotero/storage/URKPNQDA/868e7e9bc2a7b8c1f754.html},
note = {Acesso em: 31 jul. 2017}
}
@inproceedings{meyerovich2009,
title = {Flapjax: A Programming Language for {{Ajax}} Applications},
shorttitle = {Flapjax},
booktitle = {{{ACM SIGPLAN Notices}}},
author = {Meyerovich, Leo A. and Guha, Arjun and Baskin, Jacob and Cooper, Gregory H. and Greenberg, Michael and Bromfield, Aleks and Krishnamurthi, Shriram},
date = {2009},
volume = {44},
pages = {1--20},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=1640091},
urldate = {2017-01-24},
file = {/home/iquabius/mega/Files/ZotFiles/Meyerovich-2009-Flapjax.pdf}
}
@book{minasi1994,
title = {Secrets of {{Effective Gui Design}}},
author = {Minasi, Mark},
date = {1994-02},
publisher = {{Sybex Inc}},
location = {{San Francisco}},
abstract = {This book is the design guide that every programmer needs to be able to create the effective graphical programs of the future. It provides the "grammar" and "rules" of effective design. The book explains the use of controls, window placement, dialog-box construction, the effective use of colors and fonts, and many other stylistic issues.},
isbn = {978-0-7821-1495-9},
keywords = {gui,programming},
langid = {english},
pagetotal = {200}
}
@article{mogk,
title = {Reactive {{Interfaces}}: {{Combining Events}} and {{Expressing Signals}}},
shorttitle = {Reactive {{Interfaces}}},
author = {Mogk, Ragnar},
url = {http://pace-erc.eu/assets/preprint/Mogk%20-%202015%20-%20Reactive%20Interfaces.pdf},
urldate = {2017-01-24},
file = {/home/iquabius/mega/Files/ZotFiles/Mogk-Reactive_Interfaces.pdf}
}
@inproceedings{moseley2006,
title = {Out of the {{Tar Pit}}},
booktitle = {Software {{Practice Advancement}} ({{SPA}}’06)},
author = {Moseley, Ben and Marks, Peter},
date = {2006},
pages = {66},
location = {{St Neots, UK}},
url = {http://www.shaffner.us/cs/papers/tarpit.pdf},
urldate = {2017-01-24},
eventtitle = {{{BCS Software Practice Advancement}}},
file = {/home/iquabius/mega/Files/ZotFiles/Moseley-2006-Out_of_the_tar_pit.pdf}
}
@article{myers1994,
title = {Challenges of {{HCI}} Design and Implementation},
author = {Myers, Brad},
date = {1994},
journaltitle = {ACM Interactions},
volume = {1},
pages = {73--83},
doi = {10.1145/174800.174808},
url = {http://dl.acm.org/citation.cfm?id=174808},
urldate = {2017-07-04},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/GUIs - Graphical User Interfaces/IHC/1994, Brad A. Myers. Challenges of HCI Design and Implementation.pdf},
langid = {english},
number = {1}
}
@article{nishino,
title = {{{ACM SRC}} 2012: {{Detailed Research Outline}} ‘{{Misfits}} in {{Abstraction}}: {{Towards User}}-Centered {{Design}} in {{Domain}}-Specific {{Languages}} for {{End}}-{{User Programming}}’},
shorttitle = {{{ACM SRC}} 2012},
author = {NISHINO, Hiroki},
url = {https://pdfs.semanticscholar.org/eb72/4781df610df42d232e9ef4f04a01086f0500.pdf},
file = {/home/iqb/Zotero/storage/85KF8MBA/NISHINO - ACM SRC 2012 Detailed Research Outline ‘Misfits i.pdf}
}
@report{noble1994,
title = {Functional {{Languages}} and {{Graphical User Interfaces}}: {{A Review}} and a {{Case Study}}},
shorttitle = {Functional {{Languages}} and {{Graphical User Interfaces}}},
author = {Noble, Rob and Runciman, Colin},
date = {1994},
pages = {49},
institution = {{University of York, Computer Science Department}},
location = {{York, UK}},
url = {https://www.cs.york.ac.uk/ftpdir/reports/94/YCS/223/YCS-94-223.us.ps.Z},
urldate = {2017-07-11},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/Programação Funcional/1994. Noble, Rob. Functional Languages and Graphical User Interfaces - a review and a case study.pdf},
langid = {english}
}
@book{noble1994a,
title = {Functional {{Languages}} and {{Graphical User Interfaces}}: {{A Review}} and a {{Case Study}}},
shorttitle = {Functional {{Languages}} and {{Graphical User Interfaces}}},
author = {Noble, Rob and Runciman, Colin},
date = {1994},
publisher = {{University of York, Department of Computer Science}},
url = {https://www.cs.york.ac.uk/ftpdir/reports/94/YCS/223/YCS-94-223.us.ps.Z}
}
@article{perera,
title = {Interactive {{Programming}}},
author = {Perera, Roly},
url = {http://dynamicaspects.org/papers/TFP2009.pdf},
file = {/home/iqb/Zotero/storage/K3U6T4DX/Perera, Interactive Programming..pdf}
}
@article{prodanov2013,
title = {Metodologia Do Trabalho Científico},
author = {Prodanov, Cleber Cristiano and de FREITAS, Ernani Cesar},
date = {2013},
journaltitle = {Novo Hamburgo: Feevale},
url = {http://www.feevale.br/Comum/midias/8807f05a-14d0-4d5b-b1ad-1538f3aef538/E-book%20Metodologia%20do%20Trabalho%20%20Cientifico.pdf},
file = {/home/iqb/Zotero/storage/N5P7R4PE/Prodanov and FREITAS - 2009 - Metodologia do trabalho científico.pdf}
}
@inproceedings{pucella1998,
title = {Reactive Programming in {{Standard ML}}},
booktitle = {Computer {{Languages}}, 1998. {{Proceedings}}. 1998 {{International Conference}} On},
author = {Pucella, Riccardo R.},
date = {1998},
pages = {48--57},
publisher = {{IEEE}},
url = {http://ieeexplore.ieee.org/abstract/document/674156/},
file = {/home/iquabius/mega/Files/ZotFiles/Pucella-1998-Reactive_programming_in_Standard_ML.pdf;/home/iqb/Zotero/storage/644XJNBQ/674156.html}
}
@article{rao2003,
title = {Stochastic Chemical Kinetics and the Quasi-Steady-State Assumption: Application to the {{Gillespie}} Algorithm},
shorttitle = {Stochastic Chemical Kinetics and the Quasi-Steady-State Assumption},
author = {Rao, Christopher V. and Arkin, Adam P.},
date = {2003},
journaltitle = {The Journal of chemical physics},
volume = {118},
pages = {4999--5010},
url = {http://aip.scitation.org/doi/abs/10.1063/1.1545446},
urldate = {2017-07-31},
file = {/home/iqb/Zotero/storage/DCUF8U5C/Smolka_CCProg94rep.pdf},
number = {11}
}
@report{reppy1992,
title = {Higher-Order Concurrency},
author = {Reppy, John H.},
date = {1992},
institution = {{Cornell University}},
url = {https://ecommons.cornell.edu/handle/1813/7125},
urldate = {2017-06-12},
file = {/home/iqb/Zotero/storage/4IF4D6BP/Higher-order Concurrency (John Hamilton Reppy, 1992).pdf}
}
@inproceedings{reynders2014,
title = {Multi-{{Tier Functional Reactive Programming}} for the {{Web}}},
author = {Reynders, Bob and Devriese, Dominique and Piessens, Frank},
date = {2014},
pages = {55--68},
publisher = {{ACM Press}},
doi = {10.1145/2661136.2661140},
url = {http://dl.acm.org/citation.cfm?doid=2661136.2661140},
urldate = {2017-07-10},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/Programação Reativa/Outros/Multi-tier Functional Reactive Programming for the Web (Bob Reynders et al, 2014).pdf},
isbn = {978-1-4503-3210-1},
langid = {english}
}
@thesis{rota2016,
title = {Hacking the Web 2.0: User Agency and the Role of Hackers as Computational Mediators},
shorttitle = {Hacking the Web 2.0},
author = {Rota, Andrea},
date = {2016},
institution = {{The London School of Economics and Political Science (LSE)}},
url = {http://etheses.lse.ac.uk/id/eprint/3313},
file = {/home/iqb/Zotero/storage/RMVJ8I7M/Rota, 2016. Hacking the web 2. The London School of Economics and Political Science (LSE).pdf;/home/iqb/Zotero/storage/I9XAKH99/3313.html}
}
@online{rouse2005,
title = {What Is Stateless? - {{Definition}} from {{WhatIs}}.Com},
shorttitle = {What Is Stateless?},
author = {Rouse, Margaret and Borger, Mats and Flanigan, Joseph},
date = {2005},
journaltitle = {WhatIs.com},
abstract = {Also see finite state machine . Stateful and stateless are adjectives that describe whether a computer or computer program is designed to note and remem...},
file = {/home/iqb/Zotero/storage/22IBXVEE/stateless.html},
langid = {english},
note = {Disponível em: {$<$}http://whatis.techtarget.com/definition/stateless{$>$}. Acesso em: 17 jul. 2017}
}
@book{roy2004,
title = {Concepts, Techniques, and Models of Computer Programming},
author = {Roy, Peter Van and Haridi, Seif},
date = {2004},
publisher = {{MIT Press}},
location = {{Cambridge, MA, USA}},
url = {http://ctm.info.ucl.ac.be},
file = {/home/iqb/Zotero/storage/PT66TDQZ/books.html},
isbn = {0-262-22069-5},
langid = {english},
pagetotal = {896}
}
@incollection{roy2009,
title = {Programming Paradigms for Dummies: {{What}} Every Programmer Should Know},
shorttitle = {Programming Paradigms for Dummies},
booktitle = {New Computational Paradigms for Computer Music},
author = {Roy, Peter Van},
date = {2009},
volume = {104},
pages = {9--47},
publisher = {{Delatour France}},
location = {{Sampzon}},
url = {http://hiperc.buffalostate.edu/courses/ACM612-F15/uploads/ACM612/VanRoy-Programming.pdf},
urldate = {2017-06-30},
abstract = {This chapter gives an introduction to all the main programming paradigms, their underlying concepts, and the relationships between them. We give a broad view to help programmers choose the right concepts they need to solve the problems at hand. We give a taxonomy of almost 30 useful programming paradigms and how they are related. Most of them differ only in one or a few concepts, but this can make a world of difference in programming. We explain briefly how programming paradigms influence language
design, and we show two sweet spots: dual-paradigm languages and a definitive language. We introduce the main concepts of programming languages: records, closures, independence (concurrency), and named state. We explain the main principles of data abstraction and how it lets us organize large programs. Finally, we conclude by focusing on concurrency, which is widely considered the hardest concept to program with. We present four little-known but important paradigms that greatly simplify concurrent programming with respect to mainstream languages: declarative concurrency (both eager and lazy), functional reactive programming, discrete synchronous programming, and constraint programming. These paradigms have no race conditions and can be used in cases where no other paradigm works. We explain why for multi-core processors and we give several examples from computer music, which often uses these paradigms.
More is not better (or worse) than less, just different.
– The paradigm paradox.},
file = {/home/iqb/Zotero/storage/TIM7XGAM/Roy, 2009. Programming paradigms for dummies. Delatour France.pdf},
langid = {english},
note = {Publicação dos anais do colóquio New Computational Paradigms for Computer Music, 11 de jun. 2007, IRCAM, Paris, França.},
series = {Collection {{Musique}}/Sciences}
}
@inproceedings{sadowski2011,
title = {Heuristic {{Evaluation}} of {{Programming Language Features}}: {{Two Parallel Programming Case Studies}}},
shorttitle = {Heuristic {{Evaluation}} of {{Programming Language Features}}},
booktitle = {Proceedings of the 3rd {{ACM SIGPLAN Workshop}} on {{Evaluation}} and {{Usability}} of {{Programming Languages}} and {{Tools}}},
author = {Sadowski, Caitlin and Kurniawan, Sri},
date = {2011},
pages = {9--14},
publisher = {{ACM}},
location = {{New York, NY, USA}},
doi = {10.1145/2089155.2089160},
url = {http://doi.acm.org/10.1145/2089155.2089160},
abstract = {Usability is an important feature for programming languages, and user evaluations can provide invaluable feedback on language design. However, user studies which compare programming languages or systems are often very expensive and typically inconclusive. In this paper, we posit that discount usability methods can be successfully applied to programming languages concepts such as language features. We give examples of useful feedback received from applying heuristic evaluation to two language features targeted at parallel programming.},
eventtitle = {Systems, {{Programming}}, {{Languages}} and {{Applications}}: {{Software}} for {{Humanity}} ({{SPLASH}})},
isbn = {978-1-4503-1024-6},
keywords = {heuristic evaluation,programming languages,usability},
series = {{{PLATEAU}} '11}
}
@inproceedings{salvaneschi2013,
title = {Reactive Behavior in Object-Oriented Applications: An Analysis and a Research Roadmap},
shorttitle = {Reactive Behavior in Object-Oriented Applications},
booktitle = {Proceedings of the 12th Annual International Conference on {{Aspect}}-Oriented Software Development},
author = {Salvaneschi, Guido and Mezini, Mira},
date = {2013},
pages = {37--48},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=2451442},
urldate = {2017-01-24},
file = {/home/iquabius/mega/Files/ZotFiles/Salvaneschi-2013-Reactive_behavior_in_object-oriented_applications.pdf}
}
@inproceedings{salvaneschi2014,
title = {An Empirical Study on Program Comprehension with Reactive Programming},
booktitle = {Proceedings of the 22nd {{ACM SIGSOFT International Symposium}} on {{Foundations}} of {{Software Engineering}}},
author = {Salvaneschi, Guido and Amann, Sven and Proksch, Sebastian and Mezini, Mira},
date = {2014},
pages = {564--575},
publisher = {{ACM}},
location = {{Hong Kong, China}},
url = {http://dl.acm.org/citation.cfm?id=2635895},
urldate = {2017-01-24},
abstract = {Starting from the first investigations with strictly functional languages, reactive programming has been proposed as THE programming paradigm for reactive applications. The advantages of designs based on this style over designs based on the Observer design pattern have been studied for a long time. Over the years, researchers have enriched reactive languages with more powerful abstractions, embedded these abstractions into mainstream languages – including object-oriented languages – and applied reactive programming to several domains, like GUIs, animations, Web applications, robotics, and sensor networks. However, an important assumption behind this line of research – that, beside other advantages, reactive programming makes a wide class of otherwise cumbersome applications more comprehensible – has never been evaluated. In this paper, we present the design and the results of the first empirical study that evaluates the effect of reactive programming on comprehensibility compared to the traditional object-oriented style with the Observer design pattern. Results confirm the conjecture that comprehensibility is enhanced by reactive programming. In the experiment, the reactive programming group significantly outperforms the other group.},
eventtitle = {Foundations of {{Software Engineering}}},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/2014. Salvaneschi, Guido. An Empirical Study on Program Comprehension with Reactive Programming.pdf}
}
@inproceedings{salvaneschi2014a,
title = {{{REScala}}: {{Bridging}} between Object-Oriented and Functional Style in Reactive Applications},
shorttitle = {{{REScala}}},
booktitle = {Proceedings of the 13th International Conference on {{Modularity}}},
author = {Salvaneschi, Guido and Hintz, Gerold and Mezini, Mira},
date = {2014},
pages = {25--36},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=2577083},
urldate = {2017-01-24},
file = {/home/iquabius/mega/Files/ZotFiles/Salvaneschi-2014-REScala.pdf}
}
@inproceedings{salvaneschi2015,
title = {Reactive Programming: {{A}} Walkthrough},
shorttitle = {Reactive Programming},
booktitle = {Proceedings of the 37th {{International Conference}} on {{Software Engineering}}},
author = {Salvaneschi, Guido and Margara, Alessandro and Tamburrelli, Giordano},
date = {2015},
volume = {2},
pages = {953--954},
publisher = {{IEEE}},
location = {{Florence, Italy}},
url = {http://ieeexplore.ieee.org/abstract/document/7203125/},
urldate = {2017-01-24},
eventtitle = {International {{Conference}} on {{Software Engineering}} ({{ICSE}})},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/Programação Reativa/2015. Salvaneschi, Guido. Reactive Programming - a Walkthrough.annotated.pdf}
}
@inproceedings{salvaneschi2016,
title = {Debugging for Reactive Programming},
booktitle = {Proceedings of the 38th {{International Conference}} on {{Software Engineering}}},
author = {Salvaneschi, Guido and Mezini, Mira},
date = {2016},
pages = {796--807},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=2884815},
file = {/home/iquabius/mega/Files/ZotFiles/Salvaneschi-2016-Debugging_for_reactive_programming.pdf;/home/iqb/Zotero/storage/QRHP5HKP/citation.html}
}
@inproceedings{santanna2015,
title = {Structured Synchronous Reactive Programming with {{Céu}}},
booktitle = {Proceedings of the 14th {{International Conference}} on {{Modularity}}},
author = {Sant'Anna, Francisco and Ierusalimschy, Roberto and Rodriguez, Noemi},
date = {2015},
pages = {29--40},
publisher = {{ACM}},
url = {http://dl.acm.org/citation.cfm?id=2724571},
file = {/home/iqb/Zotero/storage/PGVVQHTT/Sant'Anna et al, 2015. Structured synchronous reactive programming with Céu.pdf;/home/iqb/Zotero/storage/F8M8AQJZ/citation.html}
}
@book{santos2009,
title = {Manual de Métodos e Técnicas de Pesquisa Científica},
author = {dos Santos, Izequias Estevam},
date = {2009},
publisher = {{Impetus}}
}
@inproceedings{sawada2016,
title = {Emfrp: {{A Functional Reactive Programming Language}} for {{Small}}-Scale {{Embedded Systems}}},
shorttitle = {Emfrp},
booktitle = {Companion {{Proceedings}} of the 15th {{International Conference}} on {{Modularity}}},
author = {Sawada, Kensuke and Watanabe, Takuo},
date = {2016},
pages = {36--44},
publisher = {{ACM}},
location = {{New York, NY, USA}},
doi = {10.1145/2892664.2892670},
url = {http://doi.acm.org/10.1145/2892664.2892670},
urldate = {2017-01-20},
abstract = {In this paper, we introduce a new functional reactive programming (FRP) language Emfrp designed to support small-scale embedded systems. An Emfrp program defines a system as a fixed directed graph whose nodes correspond to the time-varying values in the system. The language equips a simple mechanism that enables each node to refer the past values of arbitrary nodes. Using this mechanism, Emfrp provides simplicity and flexibility for describing complex time-dependent reactive behaviors without space and time leaks. Our Emfrp compiler produces platform-independent ANSI-C code that can run on multiple processors including resource constrained microcontrollers. To demonstrate the capabilities of the language, we show a simple but non-trivial example application.},
file = {/home/iquabius/mega/Files/ZotFiles/Sawada-2016-Emfrp.pdf},
isbn = {978-1-4503-4033-5},
keywords = {Embedded Systems,Functional Reactive Programming},
series = {{{MODULARITY Companion}} 2016}
}
@book{sebesta2009,
title = {Conceitos de Linguagens de Programação},
author = {Sebesta, Robert W.},
date = {2009},
publisher = {{Bookman Editora}},
url = {https://books.google.com.br/books?hl=en&lr=&id=vPldwBmt-9wC&oi=fnd&pg=PR5&dq=Conceitos+de+Linguagens+de+programa%C3%A7%C3%A3o+robert+sebesta&ots=e1Q9Z9Yhmi&sig=XzmPjajQBjSXcLAanig1qTyxw2E},
urldate = {2016-08-30},
file = {/home/iqb/Zotero/storage/P2P2BZAE/books.html},
keywords = {interests:programming,review,writings:books}
}
@inproceedings{smolka1994,
title = {A Foundation for Higher-Order Concurrent Constraint Programming},
booktitle = {International {{Conference}} on {{Constraints}} in {{Computational Logics}}},
author = {Smolka, Gert},
date = {1994},
pages = {50--72},
publisher = {{Springer}},
url = {https://link.springer.com/chapter/10.1007/BFb0016844},
file = {/home/iqb/Zotero/storage/H57NHHK8/BFb0016844.html}
}
@online{This,
title = {this},
journaltitle = {MDN Web Docs},
url = {https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/this},
urldate = {2020-03-09},
abstract = {A palavra-chave~this~comporta-se um~pouco diferente em~Javascript se~comparado com~outras linguagens. Também~possui~algumas diferenças~entre o~modo estrito~e o~modo não~estrito.},
file = {/home/iqb/Zotero/storage/ZCTIP5SL/this.html},
langid = {brazil},
note = {Library Catalog: developer.mozilla.org}
}
@online{This2020,
title = {This},
date = {2020},
journaltitle = {MDN Web Docs},
url = {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this},
urldate = {2020-03-08},
abstract = {A function's this keyword behaves a little differently in JavaScript compared to other languages. It also has some differences between strict mode and non-strict mode.},
file = {/home/iqb/Zotero/storage/U8BTRRMV/this.html},
langid = {english},
note = {Library Catalog: developer.mozilla.org}
}
@article{turing1937,
title = {On Computable Numbers, with an Application to the {{Entscheidungsproblem}}},
author = {Turing, Alan Mathison},
date = {1937},
journaltitle = {Proceedings of the London mathematical society},
volume = {2},
pages = {230--265},
url = {http://onlinelibrary.wiley.com/doi/10.1112/plms/s2-42.1.230/full},
file = {/home/iquabius/mega/Files/ZotFiles/Turing-1937-On_computable_numbers,_with_an_application_to_the_Entscheidungsproblem.pdf;/home/iqb/Zotero/storage/BEDCT2NA/full.html},
number = {1}
}
@book{turner1990,
title = {Research Topics in Functional Programming},
author = {Turner, David A.},
date = {1990},
publisher = {{Addison-Wesley Longman Publishing Co., Inc.}},
url = {http://dl.acm.org/citation.cfm?id=119830},
file = {/home/iqb/Zotero/storage/7SQZ5CE8/citation.html}
}
@inproceedings{vanroy2003,
title = {The Role of Language Paradigms in Teaching Programming},
booktitle = {Proceedings of the 34th {{SIGCSE}} Technical Symposium on {{Computer}} Science Education},
author = {Van Roy, Peter and Armstrong, Joe and Flatt, Matthew and Magnusson, Boris},
date = {2003},
volume = {35},
pages = {269--270},
publisher = {{ACM}},
location = {{Reno, Nevada, USA}},
url = {http://dl.acm.org/citation.cfm?id=611908},
urldate = {2017-07-24},
eventtitle = {Special {{Interest Group}} on {{Computer Science Education}}},
file = {/home/iquabius/Work/Unemat/Ciência da Computação/TCC/Literatura/2003. ROY, Peter Van. The role of language paradigms in teaching programming. Bélgica.pdf}
}
@article{xavier2002,
title = {Cognição, {{Interação}} e {{Envelhecimento}}: {{Estudo}} Exploratório a Partir de Oficinas de Internet},
shorttitle = {Cognição, {{Interação}} e {{Envelhecimento}}},
author = {Xavier, André Junqueira and others},
date = {2002},
url = {https://repositorio.ufsc.br/handle/123456789/82767},
urldate = {2017-07-07},
file = {/home/iqb/Zotero/storage/N6NUB5MF/198971.pdf}
}
@book{yin2001,
title = {Estudo de {{Caso}}: {{Planejamento}} e {{Métodos}}},
shorttitle = {Estudo de {{Caso}}},
author = {Yin, Robert K.},
date = {2001},
publisher = {{Bookman}},
location = {{Porto Alegre, RS}},
url = {https://books.google.com/books?hl=en&lr=&id=EtOyBQAAQBAJ&oi=fnd&pg=PR1&dq=YIN,+R.+K.+Estudo+de+caso:+planejamento+e+m%C3%A9todos&ots=-k4ghnzXrA&sig=vIlcDjbyX5P4a8IQFrgrwUXEPZs},
file = {/home/iqb/Zotero/storage/BH25C9FZ/Yin, 2001. Estudo de Caso. Bookman.pdf;/home/iqb/Zotero/storage/VT2M4WQU/books.html}
}