#racketlanguage — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #racketlanguage, aggregated by home.social.
-
Racket - the Language-Oriented Programming Language - version 8.15 is now available from https://download.racket-lang.org
See https://blog.racket-lang.org/2024/11/racket-v8-15.html for the release announcement and highlights. #DrRacket #Racket #RacketLanguage
-
Data Integrity via Smart Structs
by David Storrs
Structs in Racket should be more than dumb data storage. They should be data models in the sense of MVC programming; they should ensure that their contents are valid according to your project’s business rules and they should make it easy to do common operations such as storing to a database or generating a struct from data of another type such as a database row or user input field.
The struct-plus-plus module makes this easy. It allows you to place contracts on individual fields, specify business rules that ensure integrity between fields, easily create converter functions, and much more, with all of these things being part of the struct definition and therefore in one easily-referenced location. Come see how it all works and how you can simplify your code with struct-plus-plus!
Watch now: presentation
-
Data Integrity via Smart Structs
by David Storrs
Structs in Racket should be more than dumb data storage. They should be data models in the sense of MVC programming; they should ensure that their contents are valid according to your project’s business rules and they should make it easy to do common operations such as storing to a database or generating a struct from data of another type such as a database row or user input field.
The struct-plus-plus module makes this easy. It allows you to place contracts on individual fields, specify business rules that ensure integrity between fields, easily create converter functions, and much more, with all of these things being part of the struct definition and therefore in one easily-referenced location. Come see how it all works and how you can simplify your code with struct-plus-plus!
Watch now: presentation
-
Data Integrity via Smart Structs
by David Storrs
Structs in Racket should be more than dumb data storage. They should be data models in the sense of MVC programming; they should ensure that their contents are valid according to your project’s business rules and they should make it easy to do common operations such as storing to a database or generating a struct from data of another type such as a database row or user input field.
The struct-plus-plus module makes this easy. It allows you to place contracts on individual fields, specify business rules that ensure integrity between fields, easily create converter functions, and much more, with all of these things being part of the struct definition and therefore in one easily-referenced location. Come see how it all works and how you can simplify your code with struct-plus-plus!
Watch now: presentation
-
Data Integrity via Smart Structs
by David Storrs
Structs in Racket should be more than dumb data storage. They should be data models in the sense of MVC programming; they should ensure that their contents are valid according to your project’s business rules and they should make it easy to do common operations such as storing to a database or generating a struct from data of another type such as a database row or user input field.
The struct-plus-plus module makes this easy. It allows you to place contracts on individual fields, specify business rules that ensure integrity between fields, easily create converter functions, and much more, with all of these things being part of the struct definition and therefore in one easily-referenced location. Come see how it all works and how you can simplify your code with struct-plus-plus!
Watch now: presentation
-
Data Integrity via Smart Structs
by David Storrs
Structs in Racket should be more than dumb data storage. They should be data models in the sense of MVC programming; they should ensure that their contents are valid according to your project’s business rules and they should make it easy to do common operations such as storing to a database or generating a struct from data of another type such as a database row or user input field.
The struct-plus-plus module makes this easy. It allows you to place contracts on individual fields, specify business rules that ensure integrity between fields, easily create converter functions, and much more, with all of these things being part of the struct definition and therefore in one easily-referenced location. Come see how it all works and how you can simplify your code with struct-plus-plus!
Watch now: presentation
-
keyring: Uniformly Access Secrets
by Sam Phillips
Hardcoding passwords in your programs is bad. Using secure password stores are good. Keyring is a Racket library that allows programs to access different password stores using a simple interface.
Watch now: presentation
-
keyring: Uniformly Access Secrets
by Sam Phillips
Hardcoding passwords in your programs is bad. Using secure password stores are good. Keyring is a Racket library that allows programs to access different password stores using a simple interface.
Watch now: presentation
-
keyring: Uniformly Access Secrets
by Sam Phillips
Hardcoding passwords in your programs is bad. Using secure password stores are good. Keyring is a Racket library that allows programs to access different password stores using a simple interface.
Watch now: presentation
-
keyring: Uniformly Access Secrets
by Sam Phillips
Hardcoding passwords in your programs is bad. Using secure password stores are good. Keyring is a Racket library that allows programs to access different password stores using a simple interface.
Watch now: presentation
-
keyring: Uniformly Access Secrets
by Sam Phillips
Hardcoding passwords in your programs is bad. Using secure password stores are good. Keyring is a Racket library that allows programs to access different password stores using a simple interface.
Watch now: presentation
-
Incrementally Developing Support for Racket->Wasm Compilation
by Adam Perlin
Wasm is an attractive compiler target for a variety of reasons: it has support in all major browsers, its isolation guarantees are beneficial for security reasons, and it has potential as a general-purpose platform-independent execution environment. However, adding Wasm support to Racket has proven a challenging problem due to differences in the execution model each language uses at runtime. Chez Scheme, the backend of Racket CS, utilizes code generation conventions which are difficult to adapt to Wasm.
This talk will present an alternative approach to Racket-to-Wasm compilation which is compatible with Racket CS. The approach is accomplished by using an existing bytecode format and interpreter which are already supported under Chez Scheme, and performing an ahead-of-time translation of portions of bytecode programs into Wasm. This sets up an incremental approach to the development of a Racket-to-Wasm compilation system.
Watch now: presentation
-
Incrementally Developing Support for Racket->Wasm Compilation
by Adam Perlin
Wasm is an attractive compiler target for a variety of reasons: it has support in all major browsers, its isolation guarantees are beneficial for security reasons, and it has potential as a general-purpose platform-independent execution environment. However, adding Wasm support to Racket has proven a challenging problem due to differences in the execution model each language uses at runtime. Chez Scheme, the backend of Racket CS, utilizes code generation conventions which are difficult to adapt to Wasm.
This talk will present an alternative approach to Racket-to-Wasm compilation which is compatible with Racket CS. The approach is accomplished by using an existing bytecode format and interpreter which are already supported under Chez Scheme, and performing an ahead-of-time translation of portions of bytecode programs into Wasm. This sets up an incremental approach to the development of a Racket-to-Wasm compilation system.
Watch now: presentation
-
Incrementally Developing Support for Racket->Wasm Compilation
by Adam Perlin
Wasm is an attractive compiler target for a variety of reasons: it has support in all major browsers, its isolation guarantees are beneficial for security reasons, and it has potential as a general-purpose platform-independent execution environment. However, adding Wasm support to Racket has proven a challenging problem due to differences in the execution model each language uses at runtime. Chez Scheme, the backend of Racket CS, utilizes code generation conventions which are difficult to adapt to Wasm.
This talk will present an alternative approach to Racket-to-Wasm compilation which is compatible with Racket CS. The approach is accomplished by using an existing bytecode format and interpreter which are already supported under Chez Scheme, and performing an ahead-of-time translation of portions of bytecode programs into Wasm. This sets up an incremental approach to the development of a Racket-to-Wasm compilation system.
Watch now: presentation
-
Incrementally Developing Support for Racket->Wasm Compilation
by Adam Perlin
Wasm is an attractive compiler target for a variety of reasons: it has support in all major browsers, its isolation guarantees are beneficial for security reasons, and it has potential as a general-purpose platform-independent execution environment. However, adding Wasm support to Racket has proven a challenging problem due to differences in the execution model each language uses at runtime. Chez Scheme, the backend of Racket CS, utilizes code generation conventions which are difficult to adapt to Wasm.
This talk will present an alternative approach to Racket-to-Wasm compilation which is compatible with Racket CS. The approach is accomplished by using an existing bytecode format and interpreter which are already supported under Chez Scheme, and performing an ahead-of-time translation of portions of bytecode programs into Wasm. This sets up an incremental approach to the development of a Racket-to-Wasm compilation system.
Watch now: presentation
-
Incrementally Developing Support for Racket->Wasm Compilation
by Adam Perlin
Wasm is an attractive compiler target for a variety of reasons: it has support in all major browsers, its isolation guarantees are beneficial for security reasons, and it has potential as a general-purpose platform-independent execution environment. However, adding Wasm support to Racket has proven a challenging problem due to differences in the execution model each language uses at runtime. Chez Scheme, the backend of Racket CS, utilizes code generation conventions which are difficult to adapt to Wasm.
This talk will present an alternative approach to Racket-to-Wasm compilation which is compatible with Racket CS. The approach is accomplished by using an existing bytecode format and interpreter which are already supported under Chez Scheme, and performing an ahead-of-time translation of portions of bytecode programs into Wasm. This sets up an incremental approach to the development of a Racket-to-Wasm compilation system.
Watch now: presentation
-
“Implementing Type Systems as Macros”
https://lambdaland.org/posts/2023-08-14_types_with_macros/
#Racket #RacketLang #RacketLanguage -
Mutate: Inject Bugs into Your Programs!
Lukas Lazarek introduces mutate, a library for mutating programs, i.e. injecting possible bugs by making small syntactic changes to the program syntax. Lucas discusses what mutation is, why one might want it, and provides a demo of how to use the library.
Watch now: presentation
-
Mutate: Inject Bugs into Your Programs!
Lukas Lazarek introduces mutate, a library for mutating programs, i.e. injecting possible bugs by making small syntactic changes to the program syntax. Lucas discusses what mutation is, why one might want it, and provides a demo of how to use the library.
Watch now: presentation
-
Mutate: Inject Bugs into Your Programs!
Lukas Lazarek introduces mutate, a library for mutating programs, i.e. injecting possible bugs by making small syntactic changes to the program syntax. Lucas discusses what mutation is, why one might want it, and provides a demo of how to use the library.
Watch now: presentation
-
Mutate: Inject Bugs into Your Programs!
Lukas Lazarek introduces mutate, a library for mutating programs, i.e. injecting possible bugs by making small syntactic changes to the program syntax. Lucas discusses what mutation is, why one might want it, and provides a demo of how to use the library.
Watch now: presentation
-
Mutate: Inject Bugs into Your Programs!
Lukas Lazarek introduces mutate, a library for mutating programs, i.e. injecting possible bugs by making small syntactic changes to the program syntax. Lucas discusses what mutation is, why one might want it, and provides a demo of how to use the library.
Watch now: presentation
-
#lang Karp: Formulating and Random Testing NP ReductionsReduction, a pervasive idea in computer science, is often taught in algorithm courses with NP problems. The traditional pen-and-paper approach is notoriously ineffective both for students and instructors: Subtle mistakes in reductions are often hard to detect by merely inspecting the purported solutions. Constructing a counterexample by hand to expose the mistake is even more onerous. Based on the observation that reductions are actually programs, we designed
#lang Karp, a DSL for formulating and random testing NP reductions.In this presentation, Chenhao Zhang discusses the implementation of Karp on top of Racket and solver-aided host language Rosette.
Watch now: presentation
-
#lang Karp: Formulating and Random Testing NP ReductionsReduction, a pervasive idea in computer science, is often taught in algorithm courses with NP problems. The traditional pen-and-paper approach is notoriously ineffective both for students and instructors: Subtle mistakes in reductions are often hard to detect by merely inspecting the purported solutions. Constructing a counterexample by hand to expose the mistake is even more onerous. Based on the observation that reductions are actually programs, we designed
#lang Karp, a DSL for formulating and random testing NP reductions.In this presentation, Chenhao Zhang discusses the implementation of Karp on top of Racket and solver-aided host language Rosette.
Watch now: presentation
-
#lang Karp: Formulating and Random Testing NP ReductionsReduction, a pervasive idea in computer science, is often taught in algorithm courses with NP problems. The traditional pen-and-paper approach is notoriously ineffective both for students and instructors: Subtle mistakes in reductions are often hard to detect by merely inspecting the purported solutions. Constructing a counterexample by hand to expose the mistake is even more onerous. Based on the observation that reductions are actually programs, we designed
#lang Karp, a DSL for formulating and random testing NP reductions.In this presentation, Chenhao Zhang discusses the implementation of Karp on top of Racket and solver-aided host language Rosette.
Watch now: presentation
-
#lang Karp: Formulating and Random Testing NP ReductionsReduction, a pervasive idea in computer science, is often taught in algorithm courses with NP problems. The traditional pen-and-paper approach is notoriously ineffective both for students and instructors: Subtle mistakes in reductions are often hard to detect by merely inspecting the purported solutions. Constructing a counterexample by hand to expose the mistake is even more onerous. Based on the observation that reductions are actually programs, we designed
#lang Karp, a DSL for formulating and random testing NP reductions.In this presentation, Chenhao Zhang discusses the implementation of Karp on top of Racket and solver-aided host language Rosette.
Watch now: presentation
-
#lang Karp: Formulating and Random Testing NP ReductionsReduction, a pervasive idea in computer science, is often taught in algorithm courses with NP problems. The traditional pen-and-paper approach is notoriously ineffective both for students and instructors: Subtle mistakes in reductions are often hard to detect by merely inspecting the purported solutions. Constructing a counterexample by hand to expose the mistake is even more onerous. Based on the observation that reductions are actually programs, we designed
#lang Karp, a DSL for formulating and random testing NP reductions.In this presentation, Chenhao Zhang discusses the implementation of Karp on top of Racket and solver-aided host language Rosette.
Watch now: presentation
-
Introducing Rackith
by Sage Gerard
Rackith is a language-oriented programming language based on Racket. Use Rackith to define many languages with one syntax object.
Watch the presentation now: talk video
-
Introducing Rackith
by Sage Gerard
Rackith is a language-oriented programming language based on Racket. Use Rackith to define many languages with one syntax object.
Watch the presentation now: talk video
-
Introducing Rackith
by Sage Gerard
Rackith is a language-oriented programming language based on Racket. Use Rackith to define many languages with one syntax object.
Watch the presentation now: talk video
-
Introducing Rackith
by Sage Gerard
Rackith is a language-oriented programming language based on Racket. Use Rackith to define many languages with one syntax object.
Watch the presentation now: talk video
-
Introducing Rackith
by Sage Gerard
Rackith is a language-oriented programming language based on Racket. Use Rackith to define many languages with one syntax object.
Watch the presentation now: talk video
-
Redeeming Open Source with Attribution Based Economics
By Sid Kasivajhula, feat. Michael Ballantyne
Attribution Based Economics (ABE) is a new paradigm for economics that revises several foundational assumptions governing today’s systems, including the nature of economic value and the origin of money. In this new paradigm, open source software becomes economically viable and, indeed, even financially favored over proprietary models. This talk describes our experiences implementing an early prototype for the Qi project, and also how Racket will be an essential part of the solution as ABE scales past the pilot stage.
Watch now: presentation
#ABE #QiProject #Racketlang #Racket #RacketLanguage #OpenSource
-
Racket has exceeded 45,000 commits!
#Racket #RacketLang #RacketLanguage
(Image courtesy of Sorawee Porncharoenwase https://x.com/sorawee_p/status/1733234956368024057?s=46&t=WFP0L9LfXkITwVFL61zRDQ ) -
RacketCon presentation “Sawzall: A grammar for chopping up data”
by @hazel
Sawzall, inspired heavily by dplyr and the relational algebra. Sawzall builds on top of Alex Harsanyi’s data-frame package, but provides a set of operations that are designed to compose and avoid mutating the original data-set, leading to a natural style of data manipulation following the idea of "do this, then that".
Find more great presentations and details of RacketCon 2023 at https://con.racket-lang.org/
Sawzall: A grammar for chopping up data
https://youtu.be/zza0fb36c-U
https://docs.racket-lang.org/sawzall/index.html#RacketCon #Racket #RacketLang #RacketLanguage #dplyr #sawzall
-
RacketCon presentation “Sawzall: A grammar for chopping up data”
by @hazel
Sawzall, inspired heavily by dplyr and the relational algebra. Sawzall builds on top of Alex Harsanyi’s data-frame package, but provides a set of operations that are designed to compose and avoid mutating the original data-set, leading to a natural style of data manipulation following the idea of "do this, then that".
Find more great presentations and details of RacketCon 2023 at https://con.racket-lang.org/
Sawzall: A grammar for chopping up data
https://youtu.be/zza0fb36c-U
https://docs.racket-lang.org/sawzall/index.html#RacketCon #Racket #RacketLang #RacketLanguage #dplyr #sawzall
-
RacketCon presentation “Sawzall: A grammar for chopping up data”
by @hazel
Sawzall, inspired heavily by dplyr and the relational algebra. Sawzall builds on top of Alex Harsanyi’s data-frame package, but provides a set of operations that are designed to compose and avoid mutating the original data-set, leading to a natural style of data manipulation following the idea of "do this, then that".
Find more great presentations and details of RacketCon 2023 at https://con.racket-lang.org/
Sawzall: A grammar for chopping up data
https://youtu.be/zza0fb36c-U
https://docs.racket-lang.org/sawzall/index.html#RacketCon #Racket #RacketLang #RacketLanguage #dplyr #sawzall
-
RacketCon presentation “Sawzall: A grammar for chopping up data”
by @hazel
Sawzall, inspired heavily by dplyr and the relational algebra. Sawzall builds on top of Alex Harsanyi’s data-frame package, but provides a set of operations that are designed to compose and avoid mutating the original data-set, leading to a natural style of data manipulation following the idea of "do this, then that".
Find more great presentations and details of RacketCon 2023 at https://con.racket-lang.org/
Sawzall: A grammar for chopping up data
https://youtu.be/zza0fb36c-U
https://docs.racket-lang.org/sawzall/index.html#RacketCon #Racket #RacketLang #RacketLanguage #dplyr #sawzall
-
RacketCon presentation “Sawzall: A grammar for chopping up data”
by @hazel
Sawzall, inspired heavily by dplyr and the relational algebra. Sawzall builds on top of Alex Harsanyi’s data-frame package, but provides a set of operations that are designed to compose and avoid mutating the original data-set, leading to a natural style of data manipulation following the idea of "do this, then that".
Find more great presentations and details of RacketCon 2023 at https://con.racket-lang.org/
Sawzall: A grammar for chopping up data
https://youtu.be/zza0fb36c-U
https://docs.racket-lang.org/sawzall/index.html#RacketCon #Racket #RacketLang #RacketLanguage #dplyr #sawzall
-
There is a follow up post:
Extending Automatic Differentiation to Higher Order Derivatives
-
Zuo: A Tiny Racket for Scripting
You should use Racket to write scripts. But what if you need something much smaller than Racket for some reason?
Zuo is a tiny Racket with primitives for dealing with files and running processes, and it comes with a
make-like embedded DSL.Documentation: https://docs.racket-lang.org/zuo/index.html
Zuo is also available as a guix package!: https://packages.guix.gnu.org/packages/zuo
-
Zuo: A Tiny Racket for Scripting
You should use Racket to write scripts. But what if you need something much smaller than Racket for some reason?
Zuo is a tiny Racket with primitives for dealing with files and running processes, and it comes with a
make-like embedded DSL.Documentation: https://docs.racket-lang.org/zuo/index.html
Zuo is also available as a guix package!: https://packages.guix.gnu.org/packages/zuo
-
Zuo: A Tiny Racket for Scripting
You should use Racket to write scripts. But what if you need something much smaller than Racket for some reason?
Zuo is a tiny Racket with primitives for dealing with files and running processes, and it comes with a
make-like embedded DSL.Documentation: https://docs.racket-lang.org/zuo/index.html
Zuo is also available as a guix package!: https://packages.guix.gnu.org/packages/zuo
-
Zuo: A Tiny Racket for Scripting
You should use Racket to write scripts. But what if you need something much smaller than Racket for some reason?
Zuo is a tiny Racket with primitives for dealing with files and running processes, and it comes with a
make-like embedded DSL.Documentation: https://docs.racket-lang.org/zuo/index.html
Zuo is also available as a guix package!: https://packages.guix.gnu.org/packages/zuo
-
Zuo: A Tiny Racket for Scripting
You should use Racket to write scripts. But what if you need something much smaller than Racket for some reason?
Zuo is a tiny Racket with primitives for dealing with files and running processes, and it comes with a
make-like embedded DSL.Documentation: https://docs.racket-lang.org/zuo/index.html
Zuo is also available as a guix package!: https://packages.guix.gnu.org/packages/zuo
-
(thirteenth RacketCon)
October 28-29, 2023
Northwestern University
Evanston, IL, USAIntroducing Rackith
Sage Gerard https://sagegerard.com/
Rackith is a language-oriented programming language based on Racket. Use Rackith to define many languages with one syntax object. Discussion covers project design and implications for the personal computer.
Reductions on top of Rosette
Chenhao Zhang http://eecs.northwestern.edu/~czu2221/
Rhombus: Status update
Matthew Flatt (Utah) https://users.cs.utah.edu/~mflatt/
The State of Racket
Sam Tobin-Hochstadt (Indiana) https://samth.github.io/
Racket Town Hall
Racket Management
Please come with your big questions and discussion topics.
Registration
Check back soon! We currently do not have a registration form.’
Friendly Environment Policy
The proceedings of RacketCon will take place under the Racket Friendly Environment Policy https://racket-lang.org/friendly.html
Accommodation
We are currently exploring the possibility of getting a block of rooms at a nearby hotel.
#Racket #RacketLang #RacketLanguage
#LanguageOrientedProgramming #lop #Rosette #RosetteLanguage -
Racket meet-up Sat, 1 July 2023 at 18:00 UTC
This meet-up will be held at https://meet.jit.si/Racketmeet-up
At
https://www.timeanddate.com/worldclock/converter.html?iso=20230701T180000&p1=tz_pt&p2=tz_mt&p3=tz_ct&p4=tz_et&p5=136&p6=204&p7=241&p8=1440Announcement: https://racket.discourse.group/t/racket-meet-up-sat-1-july-2023-at-18-00-utc/2062
#Racket #RacketLang #RacketLanguage
Racket discord invite link https://discord.gg/6Zq8sH5 -
Machine Learning Toolkit accompanying The Little Learner by Daniel P. Friedman and Anurag Mendhekar
https://github.com/themetaschemer/malt
https://www.thelittlelearner.com
#Racket #RacketLang #RacketLanguage #MachineLearning #AIexpress