# Lisp cons

## All the possible 1 bit flips in ACL2

2020.10.27 23:25 jarulsamy All the possible 1 bit flips in ACL2

Hi,
I'm new to lisp, so please bear with if I am doing something horrendously wrong. I am trying to implement a hamming code, so I'm simulating all the possible 1 bit errors in a list. So for example:
` (all-1bit-errors '(0 1 0)) ` should yield ` '((1 1 0) (0 0 0) (0 1 1)) ` Essentially I want every possible combination of flipping one and only one bit. I came up with this solution in Python, but can't figure out a lisp implementation that only uses 1 parameter (the input list is the only parameter). ``` from pprint import pprint from copy import deepcopy
def flip(val): if val == 0: return 1 return 0
def all_one_bit_errors(l): result = [] for k, v in enumerate(l): temp = deepcopy(l) temp[k] = flip(v) result.append(temp) return result
INPUT = [0, 1, 0] EXPECTED = [[1, 1, 0], [0, 0, 0], [0, 1, 1]] result = all_one_bit_errors(INPUT)
try: assert result == EXPECTED print("Assertion passed!") except AssertionError: print("Assertion failed!")
print(f"INPUT: {INPUT}") print("EXPECTED") pprint(EXPECTED)
print("\nACTUAL") pprint(result) ` ` => Assertion passed! INPUT: [0, 1, 0] EXPECTED [[1, 1, 0], [0, 0, 0], [0, 1, 1]]
ACTUAL [[1, 1, 0], [0, 0, 0], [0, 1, 1]] ```
I'm struggling to understand how to do this in lisp / ACL2. ACL2's only main difference from common lisp is that the only functions I can use are (LEN), (EQUAL), (IF), (CONSP), (CONS), (APPEND).

2020.10.25 11:20 hypmralj Right FP language for me (F# vs Clojure vs Haskell vs ... ?)

Hello everyone! This question has been probably asked many times, but everyone different preferencies bacgroudns etc, so here it goes:
Over past year or so I've become super interested in FP paradigm, and OOP started to look really đ¤Ž. To me, FP just makes much more sense, and simply better suits my way of thinking.
Here is my bit of my background:
• I've been programming in C# 5+ years professionally (and before that I've been doing some projects throughout high-school đ)
• For past 2.5 years I have been doing JS alongside C# (writing app in ReactNative)
• I really like Math, I find CAT, HOTT and stuff Idris is doing with dependant type super interring and beyond mind blowing
If someone asked me eg. 3 years ago, what was best language & IDE, in split second my answer would have been C# & VS (+ Reshaper).
Back then I have had some experience with Java (and to me it looked ugly and simply less powerful, ie. less expressive than C#) and JS - which, mildly put, I simply hated.
This is (although fictions) , but very representative, "talk" with colleague of mine "back in the day"
I mean you don't have classes but this:
`` const obj = { name: "", addressLine: "" }; ``
what a joke!
Also, you can write function, which "expects" the `string` and pass to it `number` and it will crash in PROD; are you some kind of masochist ?

How I became interested in FP
Through JS đ
Fast forward couple of years; I really like JS (actually TS, I still love type safety).
Through React (and Redux) I came to appreciate & love pure functions, immutability, higher order functions (which in C# require more ceremony, and are not as idiomatic, except in LINQ which heavily inspired by F# ), closures and partial application warm my hearth đ

Now I appreciate that you can create objects like:
`` const obj = { name: "", addressLine: "" }; ``
without whole "class ceremony"
And TS IMHO has really good type system (given that it "sits" on top of JS).
I was modelling smth. in TS and was using discriminated unions, I have had to "mirror" that model in C# and I almost started to cry from "pain". Also, I find "helper functions" such as `Pick`, `Omit`, `ReturnType`, `Parameters`, etc. really useful (and ability to merge 2 types, eg. `type T = T1 & T2`)
So I started reading blogposts, books, watching YT talks on FP (or as some would say, I started to drink FP Kool-Aid).
Picking FP language & Stack
What are some important things I am looking for ?
1. expressiveness - how easy / clean is it to express âcomplexâ ideas
2. readability (ofc. once you know the language, not how readable is it to âoutsiderâ)
3. activity/Community - how active is community around language (how many good libs are out there, how is it easy to find answer)
4. performance - I guess it is not super important these days, since machines are really powerful, but still đ
5. I enjoy Domain modelling - is language suited for âgoodâ Domain modelling (not sure how to define good, but I really like discriminated unions, type aliases etc.)
6. Good web frameworks - I want to be able to create âstandard API stuffâ, ie. something that can
1. Connect to DB
2. âDo stuffâ
3. Expose API endpoint
4. If Authentication, Routing etc came out of the box, that is â+â
7. Usage in âreal worldâ
8. Employability - how easy is it to hire someone or get them up to speed

I looked at couple of languages and ATM my top 3 are: F#, Clojure and Haskell. Itâs hard for me to do PRO/CON list because I havenât spent any significant amount of time in any of following languages, I only read / watched talks about them, but here are my impression (which ofc. may be completely wrong given no real experience in any of them):

# F

I directed most of the attention towards F#, it comes naturally if you are coming from .net world and C#. I havenât done anything major in it, but it doesnât look like it has many downsides (expect usual FP âproblemsâ, small community, hard to hire new Devs, not many companies hire FP devs etc).

PROS
1. Has expressiveness / power of ML
2. Good for domain modelling
3. Has power of .net at itâs disposal
4. Has Web Frameworks which sit on top of ASP.net Core (so I get pretty good performance, routing, auth etc. âfor freeâ)
CONS
1. Reading Reddit / Twitter etc. it almost seems that MS is unsure what to do about it, and it feels like unwanted step sibling to C#
2. Following 1. itâs like it peaked few years ago, and now it feels like it is dying out, at leats from my limited outsider perspective 3.I feel bad for saying this because ofc. it is not true for most of the community (and I really apologise if I offended anyone), but, community seems kinda toxic, or at least that is feeling I get (again reading Reddit / Twitter)

Nothing special to say here :) I won't do PRO / CON list, because I did not spend much time investigating it. It is super powerful, beautiful, probably beyond any other language.
My biggest concerns are around "real world" scenarios, like DB access, web frameworks, deploying it on servers, maintenance etc.

# Clojure

This one came to me as a surprise because it is totally different than ML class of languages (ofc. being Lisp). And as I already mentioned I like powerful sound type systems.
But I watched couple of talks from Rich Hickey, and it really intrigued me, especially one titled Maybe Not where he talks bit deeper about dynamic vs strong typed languages.
So, as I was ignorant about JS couple years ago, it could be that I am just ignorant about dynamically typed languages (I am not 23 anymore đ)
Language looks pretty cool and expressive, and I like that it is pragmatic and as far as I can see oriented towards "real world" scenarios.
I have no idea what's situation with Web frameworks, DBs, performance etc.

So can you please share your experience with these (and others) languages ? Especially if you've used them for "real world" scenarios (ie, not just as pet projects, but for business) . What did you enjoy, what were problems, what would you recommend ?
EDIT 1
EDIT 2
I wanted to point out that I actually don't enjoy that much developing front-end (web / mobile), I started as backed dev and gradually became full-stack, but I enjoy much more backend, so I am not that interested in ReScrpit (ReasonML), Elm, PureScript etc.

2020.10.12 22:21 Sliverious [Emacs IELM] wrong type argument: number-or-marker-p

[SOLVED] I need some help understanding the cause of my issue. I am an experienced programmer, but I am learning both emacs and lisp at the same time so distinguishing emacs errors and lisp errors can be a bit tough. I suspect my issue to be fairly common though.
What I ran into is the error in the title when evaluating pretty trivial expressions:
``ELISP > (= 1 1) t ELISP> (= (list 1) '()) wrong type argument: number-or-marker-p, (1) ELISP> (= (list 1) nil) wrong type argument: number-or-marker-p, (1) ELISP> (= '() nil) wrong type argument: number-or-marker-p, nil ``
As I understand it, lists are constructed consing values onto the nil token like (list 1) <=> (cons 1 '()) so I would assume the comparison should be computable, not result in a type error.
Who can help me? Am I using the IELM repl wrong, is my logic wrong?

2020.09.25 15:37 vtereshkov A Lisp interpreter written in Umka

Umka is a new statically typed embeddable scripting language. To prove that it is suitable for writing programs larger than 100-line scripts, I have implemented a toy Lisp 1.5 interpreter in Umka. The inspiration was drawn from a similar interpreter written in Go by one of the principal Go designers, Rob Pike.
Lisp is famous for having an extremely compact core. The core semantics is completely defined on a single page (p. 13) of the Lisp 1.5 manual. This core provides a Turing-complete language with conditionals and recursive functions (but without loops) and can be freely extended with any additional functions. Since the only data structure in Lisp is a tree, a Lisp interpreter is a perfect test for garbage collection. Umka has passed this test successfully.
My Lisp interpreter currently implements only the basic functions (`car`, `cdr`, `cons`, `atom`, `eq`), keywords (`lambda`, `label`, `quote`, `cond`) and constants (`t`, `nil`). It follows the Lisp 1.5 definition more literally than Rob Pike's interpreter. In particular, it offers `label`, but not `defun`. Arithmetical functions will be added soon.

2020.09.22 18:16 Malakidavid No cruet, no carob milk, lisps away a wasp silk limbo raconteur con.

2020.09.19 17:02 kwaleko Writing tiny DSL using Macro

I am trying to write a DSL ( I am not even sure it can be called DSL), the idea is writing XML closer to the domain problem rather than writing it as Text or as verbose function.
I am aware that there are many great libraries available, however, I am doing this for learning purpose to learn more about macro, lisp and DSL.
the idea is as you may have guessed, instead of writing plain XML, write in more lisp structured way.
for example:
``(xml ((:field))) =>  (xml ((:table :width "20px") "raw data")) => raw data ``

for this purpose, I have wrote an `xml` macro as per the below:

``(defmacro xml (sexpr) `(progn ,@(cond ((form-self-eval sexpr) (if (and (not (keywordp sexpr)) (symbolp sexpr)) `((princ ,sexpr)) `((write-string ,sexpr)))) ((form-cons-p sexpr) (destructuring-bind ((tag &rest atts) &body body) sexpr (remove-if #'null `((write-string ,(format nil "<~A" tag)) ,@(mapcar (lambda (x)(cond ((keywordp x) `(write-string ,(format nil " ~A=" (symbol-name x)))) ((symbolp x)`(princ ,x)) (t `(write-string ,(format nil "'~A'" x))))) atts) ,(if (null body) `(write-string "/>") `(write-string ">")) ,@(if body (if (atom body) `(xml-expand ,body) (mapcar #'(lambda (elem)`(xml-expand ,elem)) body))) ,(when body `(write-string ,(format nil "" tag)))))))))) ``

However, this works fine, for instance, calling macro expand with the
``(macroexpand-1 ' (xml ((:fields) ((:axtablefield :xmlns "" :type "AxTableFieldString") ((:name) field) ((:label) field) ((:stringsize) "50"))))) ;; expansion (PROGN (WRITE-STRING "") (XML-EXPAND ((:AXTABLEFIELD :XMLNS "" :TYPE "AxTableFieldString") ((:NAME) FIELD) ((:LABEL) FIELD) ((:STRINGSIZE) "50"))) (WRITE-STRING "")) ``

for now is fine, when evaluating the expansion it will yield the expected result (of course when I initialize the symbol field with let), however, the problem arise when I want to extend the macro to let me embed code directly inside xml macro.
for example, it might be useful to be able to do the below:

``(let ((table-name "table name") (fields '(field1 field2))) (progn (xml ((:axtable :xmlns "http://www.w3.org/2001/XMLSchema-instance") ((:name) table-name) ((:sourcecode)) ((:subscriberAccessLevel) ((:read) "Allow")) ((:deleteactions)) ((:FieldGroups)) (dolist (field fields) ((:fields) ((:axtablefield :xmlns "" :type "AxTableFieldString") ((:name) field) ((:label) field) ((:stringsize) "50"))))))) ``

obviously it will not work since the macro only handle expression abide by the format `((:tag :att "value") content),` However, I found it hard to wrap my head around it and extend the macro to handle the latest example, maybe I am approaching the problem in the wrong way, I am not really sure.

2020.09.16 17:14 Substantial_Height AutoCAD Lisp help

Could someone help me figure out this lisp routine? Thank you in advance!
Note: I only took one studio in architecture undergrad that utilized coding so i kinda understand the functions. I have found website to learn the LSP functions but i here i am.
Goal: I want to have dim labels update with the code below but once the value of "10" is reached, i want the "0" to be removed. I also want to incorporate a selection set (ssget? to replace entsel?) of multiple dims to be labeled the same (ex 1 dim at 12"=u01, 4 dims at 15" = u02, 2 dims at 8" = u03, etc.)
I'm pretty sure it's an "if-then" function before "setq label" but maybe i have been setting it up wrong?
Code:

(defun c:testdimlabel()

(setq unitstring (getstring "\Enter Beginning Unit Number:"))
(setq dimselect (entsel "Select Dimension:"))

(while (/= dimselect nil)
(setq dimname (car dimselect))
(setq data (entget dimname))
(setq label (strcat "<>\\PU0" unitstring))
(setq data (subst (cons 1 label) (assoc 1 data) data))
(entmod data)
(setq unitint (atoi unitstring))
(setq unitint (+ unitint 1))
(setq unitstring (itoa unitint))
(setq dimselect (entsel "Select Dimension:"))

);while

);defun

2020.09.11 13:26 flaming_bird Online Lisp Meeting #9

Good morning, everyone!
The ninth Online Lisp Meeting will bring us Robert Strandh with his third installment in the Creating a Common Lisp Implementation series.
In this series of presentations, we examine different strategies for creating a Common Lisp implementation, as well as the pros and cons of each strategy.
We assume basic knowledge about how a typical modern operating system (such as Unix) works, and how traditional batch languages (such as C) are compiled and executed on such a system. We furthermore assume medium-level knowledge about Common Lisp.
In part 3, we investigate one possible solution to the conundrum of our first strategy outlined in part 2, namely the circular compile-time dependencies between many standard macros and standard functions, forcing us to write more code in a language other than Common Lisp, and also forcing us to write "unnatural" Common Lisp code. The solution to this problem is the foundation of our second strategy for creating a Common Lisp implementation, and it relies on using an existing host Common Lisp implementation for cross compilation.
Since some time has passed since part 1 and 2 were streamed, we strongly recommend that interested participants make sure that the material covered in those two parts is fresh in memory, if necessary by watching those presentations again.
A short Jitsi talk with everyone will happen just after the meeting - everyone is invited!
Date/time/location:
Massive thanks to Marco Heisig for providing the Jitsi instance where we can hang out after the talk.
A mailing list has been created for the purpose of organizing and promoting the online talks. Further announcements will be posted there. See https://mailman.common-lisp.net/listinfo/online-lisp-meets
Lisp videos always accepted! Please let me know if you'd like to talk about anything Lisp-related.
BR and see you -- MichaĹ "phoe" Herda

2020.09.09 20:28 MatthewRKingsAccount The Royal Compendium of Prestige Classes (v1.0)

https://homebrewery.naturalcrit.com/share/Fa0pMofTv
Good day, everyone!
This is a set of 6 prestige classes that I've written for my own game. I've taken (and will continue to take) feedback regarding this compendium and tested these classes (a little), so I suppose we can call this an (un-)official version 1.0.
The purpose of these prestige classes is to provide both multi-classing options and continuous plot hooks for characters as they level. To this end, these classes are all tied into powerful people or organizations in whatever setting your game takes place. These groups are VERY LOOSELY described in this compendium so as to leave the specifics up to each DM for their own setting. Additionally, the prerequisites for the classes should be taken as suggestions and changed to the DMs preferences (especially the ones involving alignment). I wouldn't, however, recommend changing spellcasting or character level based prereqs, but that is up to you.
Either way, players should have to seek these powers and earn the right to use them; this can be as simple as signing up for a class or as complex as a campaign seeking out the last remaining Glypher in the world to teach you their craft. Campaigns starting at higher levels with prestige levels on their player characters should have these events as part of backstories and may (or not) require those characters return to those sources to take further levels.
These classes each contain only three levels. The 1st level in a prestige class cannot be taken until after character level 5; the 2nd after level 10; the 3rd after level 15. A level 20 character with 17 levels in a "base" class and 3 levels in a prestige class effectively replaces the last three levels of features for their base class (including "capstone feature" and level 19 ASI) with the prestige class features. Each prestige level ability is meant to be balanced for the corresponding "tier of play"; tier two for prestige level 1, tier three for prestige level 2, and tier four for prestige level 3.
I made a couple of changes to my own setting to help clarify and set apart these classes. These are recommended if you choose to use this resource, but likely not necessary:
- the spells 'Glyph of Warding' and 'Symbol' are not in my setting and GlyphStickersâ˘ are special pieces of paper that Glyphers use, along with their own fluids, to easily activate Glpyhs inscribed upon them.
- Potions of Healing cost 100 gp, rather than the normal 50 gp
- this is an item that can be found at black markets in my setting:
Basic Poison (25 gp)- can be applied to a weapon or 20 units ammunition over the course of one minute. Once applied, it is useful for 3 minutes. Any creature hit by a piercing or slashing weapon with basic poison applied must make a DC 13 CON Save or takes 1d4 poison damage and is poisoned for 1d4 rounds.
- an amateur poison maker can make a unit of Basic Poison with a Poisoner's Kit, 8 hours, some ingredients, and a INT or DEX (your choice) DC of 15 . Proficiency with Poisoners Kit allows you to add your proficiency to this check. Failure may result in the poison maker getting poisoned and will cause the loss of the ingredients. Only one poison can harm a creature at a time and only the latest effective poison applied to a weapon will cause damage and effects. An amateur poison maker can modify the poisons they make in certain ways (listed below) by increasing the DC required to craft the poison:
Damage Amount - 1d4 (+0), 1d6 (+1), 1d8 (+2)
Effect Duration - 1d4 rounds (+0), 4d6 rounds (+ 2), 1d4 hours (+4)
- the "shifter" race are called "reforms" in my setting
- Vampers, their lore, and their spawn entirely replace Vampires and all existing Vampire-related lore in my setting; the two are almost exactly the same. Vampers get a lisp whenever they have their fangs extended, until level 3. Vampers sparkle when burning from sunlight as described in DARKNESS SWALLOWS. There is some obvious silliness written into the class; I meant it as a joke class for self-aware edgelords. If you feel more comfortable calling them Vampires, please do so elsewhere; I'd sugggest that you change the names of the features and the class for your setting: the class should still be equally mechanically sound. I know not everyone likes goofy D&D stuff and that's totally cool. Homebrew my homebrew; I'm into it.
With all that said, please enjoy reading through these options and letting me know what you think. Which is your favorite (vote in the poll!)? What builds would you like to make with these prestige classes? Do you have a character that would seek these powers? How would you improve them?
It is very likely that I'll end up making more prestige classes in this same style at some point in the future; what ideas do you have for new prestige classes? If you write one like this, I'll give you feedback on it. If I like it (and if you want me to), I'll add it to the next version of the compendium (and credit you, ofc).
Thank you for reading this and keep on rolling and roleing.
https://homebrewery.naturalcrit.com/share/Fa0pMofTv
View Poll

2020.09.05 18:45 bognovogomira Delete does not remove list head?

Just started learning LISP, and I understand that `delete` is supposed to 'overwrite' the current list with a new list (with appropriate elements removed). For instance, `(delete 1 '(1 2 3))` should overwrite the list with `(2 3).` The behaviour is as expected when the element to be removed isn't at the head, but when it is at the head of the list it isn't removed:
https://preview.redd.it/tjggs05pycl51.png?width=1466&format=png&auto=webp&s=bfa54c86b8c8e1a07209c18f013ca76f70742cb7
I assume this has something to do with cons-cells? Or is this standard behaviour?

2020.08.24 16:53 michaelanckaert Code Critique / Can this be done better?

I'm looking for someone to give some critique / help me write this code better in Lisp.
What this code does is take a directory path and returns a hash-map of prefix keys to list of filenames. The prefix is the first 'part' of the filename, separated by a hyphen (for example: "category-file.pdf" has the prefix "category").
Thanks for any feedback you can give me :-)
``(defun file-name-parts (file-path) "Return the parts of a filename: the prefix and the complete filename." (let* ((file-name (file-namestring file-path)) (offset (search "-" file-name))) (values (subseq file-name 0 offset) file-name))) (defun process-directory (directory-path) "Process a directory and return a hash-map of prefix and list of files for that prefix." (let ((files (enumerate-directory directory-path)) (db (make-hash-table :test 'equal))) (loop for file in files do (multiple-value-bind (prefix file-name) (file-name-parts file) (if (not (gethash prefix db)) (setf (gethash prefix db) (list file-name)) (setf (gethash prefix db) (cons file-name (gethash prefix db)))))) db)) ``

2020.08.24 13:45 joinr Has anyone looked at vlists for clojure?

https://www.gnu.org/software/guile/manual/html_node/VLists.html
https://github.com/skangas/guile/blob/mastemodule/ice-9/vlist.scm
https://hg.sr.ht/~bjoli/guile-fector
discussion from lisp reddit
They're another Bagwell structure for persistent array like things. The Guile folks have what looks like a consistent port of persistent vectors, and they (u/bjoli) seem to observe about a 2x estimated random access difference between the pvector (fector) and the vlist implementation. I found that curious, since it could indicate another persistent data structure with some tradeoffs that could be useful. Curious if there are any java/clojure implementations. There's a Java implementation, no idea if it's quality or not though.

2020.08.20 05:57 annoyingpopsong Help me choose which regional variation of Spanish to argue is superior to learn

Help me choose which regional variation is the best one to learn!
I'm currently dedicating time and attention to arguing which Spanish is the best one to learn to speak, because I want to be fully prepared for being a native level speaker. It's part of my essential step of preparing to learn the language and how to learn and choose the right one before I actually dedicate precious time and resources to learning the language.
I don't yet speak Spanish but it's extremely important for me to choose which one is superior so I can make a solid case about which one is the best one so I can still be superior to others as long as they speak the wrong kind of Spanish.
An added bonus would be if I can have a solid case as to why it's practically a separate dialect, with supporting talking points and examples, without having to actually know the language or the real significance of those examples.
So which one should I learn?
Spain Spanish -
Pros: truly the truest of Spanish, the Spanish of Spaniards, the only true Spanish there is, all other Spanish comes from this Spanish.
Cons: sometimes you do a lisp
Pros: i can over-pronounce the lisp and really show how well my enunciation is to non-Spanish speakers and milk the purity of the Spaniard features of the language.
Other Spanish -
Pros: not Spaniard Spanish
Cons: not Spaniard Spanish
Also, not sure if a con but there are millions more speakers and significantly more resources for Latin American and Mexican Spanish, but my goal is to be superior not to communicate so is this actually important at all?
I want to know that if I were to speak Spanish that I would be speaking the best one.

2020.08.15 18:07 metaperl Pampy can implement a Lisp Calculator in 5 lines (and a digression on PEP 622)

There are many pattern-matching things that have been developed in PyPI. I was impressed with the ability of Pampy to implement a lisp calculator in 5 lines.
In looking over PEP 622, spurred by the earlier thread on the topic, I noticed they had a reference implementation but no explicit rejection/review of a number of modules that offer pattern-matching.
Shouldn't there be a thorough review of prior art and its pros and cons?

2020.08.14 23:35 EmosewaPixel PL Syntax Going Forward

Today there exist thousands of programming languages, yet while languages like Prolog, Small Talk and Forth are still in use, it is the syntax of LISP, ML and C that the vast number of today's top programming languages are based on.
LISP syntax, despite being the oldest of the bunch, hasn't see too much change, aside from the actual implementation, such that Clojure focuses on persistent arrays rather than cons lists. Yet that's due to the fact that with macros being a big part of the language family, there hasn't been a need to add new syntax.
ML's general syntax also remains the same. Languages such as OCaml and F# have put their own spin on it by combining it with C syntax. On the other hand, it continues to be expanded with the new abstractions that GHC brings.
C's syntax, on the other hand, has seen a lot of change and many variations, most likely due to it's wide use.
Nowadays C syntax where the type in one way or another goes after the name of the variable and parameters of the function in declarations is very common due to the rise of type inference. Yet, with Scala being the first big statically-typed language using it, this is far from new.
Python's variant that's based on indentation seems to continue being on the rise with Nim growing in popularity and Scala Dotty supporting it simultaneously with the classic curly bracket approach.
Despite the push for replacing angled brackets for generics with square brackets what instead seems to be happening is them being dropped at function call due to type inference, as is in Swift and Rust (albeit it does still have the turbofish operator).
Statements have gotten quite an overhaul. For each loops have become the norm over for loops. Languages such as Swift and Rust are pushing towards excluding parentheses and instead making curly brackets required, yet languages like Jai are even making those optional. Try-catch-finally blocks are getting replaced with scoped catching and defer by languages such as Swift and Zig. Pattern-matching is increasingly replacing switches and constructs such as if let are being popularized by Rust and Swift.
Macros have become even more powerful thanks to languages such as Rust and Nim.
Lambdas have had many variations over the years with JavaScript's being the most common and Ruby's being used in Rust, yet Kotlin and Swift are pushing towards a variant which allows for creating custom DSLs.
With that said, my question for you is: What syntax do you think will be subject to change in the future? What do languages still not have a nice construct for?
Looking through a plethora of new programming languages, many of which are on this subreddit, new and unique syntax seems like something you almost never come by. Yet, looking back at constructa such as if let and defer it somewhat makes you feel silly that people hadn't thought of it earlier.

2020.08.13 22:21 OB8O Every Legal 4-Letter Word In Scrabble

AAHS AALS ABAC ABAS ABBA ABBE ABBS ABED ABET ABID ABLE ABLY ABOS ABRI ABUT ABYE ABYS ACAI ACCA ACED ACER ACES ACHE ACHY ACID ACME ACNE ACRE ACTA ACTS ACYL ADAW ADDS ADDY ADIT ADOS ADRY ADZE AEON AERO AERY AESC AFAR AFFY AFRO AGAR AGAS AGED AGEE AGEN AGER AGES AGHA AGIN AGIO AGLU AGLY AGMA AGOG AGON AGUE AHED AHEM AHIS AHOY AIAS AIDA AIDE AIDS AIGA AILS AIMS AINE AINS AIRN AIRS AIRT AIRY AITS AITU AJAR AJEE AKAS AKED AKEE AKES AKIN ALAE ALAN ALAP ALAR ALAS ALAY ALBA ALBE ALBS ALCO ALEC ALEE ALEF ALES ALEW ALFA ALFS ALGA ALIF ALIT ALKO ALKY ALLS ALLY ALMA ALME ALMS ALOD ALOE ALOO ALOW ALPS ALSO ALTO ALTS ALUM ALUS AMAH AMAS AMBO AMEN AMES AMIA AMID AMIE AMIN AMIR AMIS AMLA AMMO AMOK AMPS AMUS AMYL ANAL ANAN ANAS ANCE ANDS ANES ANEW ANGA ANIL ANIS ANKH ANNA ANNO ANNS ANOA ANON ANOW ANSA ANTA ANTE ANTI ANTS ANUS APAY APED APER APES APEX APOD APOS APPS APSE APSO APTS AQUA ARAK ARAR ARBA ARBS ARCH ARCO ARCS ARDS AREA ARED AREG ARES ARET AREW ARFS ARGH ARIA ARID ARIL ARIS ARKS ARLE ARMS ARMY ARNA AROW ARPA ARSE ARSY ARTI ARTS ARTY ARUM ARVO ARYL ASAR ASCI ASEA ASHY ASKS ASPS ATAP ATES ATMA ATOC ATOK ATOM ATOP ATUA AUAS AUFS AUKS AULA AULD AUNE AUNT AURA AUTO AVAL AVAS AVEL AVER AVES AVID AVOS AVOW AWAY AWDL AWED AWEE AWES AWFY AWKS AWLS AWNS AWNY AWOL AWRY AXAL AXED AXEL AXES AXIL AXIS AXLE AXON AYAH AYES AYIN AYRE AYUS AZAN AZON AZYM
BAAL BAAS BABA BABE BABU BABY BACH BACK BACS BADE BADS BAEL BAFF BAFT BAGH BAGS BAHT BAHU BAIL BAIT BAJU BAKE BALD BALE BALK BALL BALM BALS BALU BAMS BANC BAND BANE BANG BANI BANK BANS BANT BAPS BAPU BARB BARD BARE BARF BARK BARM BARN BARP BARS BASE BASH BASK BASS BAST BATE BATH BATS BATT BAUD BAUK BAUR BAWD BAWL BAWN BAWR BAYE BAYS BAYT BEAD BEAK BEAM BEAN BEAR BEAT BEAU BECK BEDE BEDS BEDU BEEF BEEN BEEP BEER BEES BEET BEGO BEGS BEIN BELL BELS BELT BEMA BEND BENE BENI BENJ BENS BENT BERE BERG BERK BERM BEST BETA BETE BETH BETS BEVY BEYS BHAI BHAT BHEL BHUT BIAS BIBB BIBS BICE BIDE BIDI BIDS BIEN BIER BIFF BIGA BIGG BIGS BIKE BILE BILK BILL BIMA BIND BINE BING BINK BINS BINT BIOG BIOS BIRD BIRK BIRL BIRO BIRR BISE BISH BISK BIST BITE BITO BITS BITT BIZE BLAB BLAD BLAE BLAG BLAH BLAM BLAT BLAW BLAY BLEB BLED BLEE BLET BLEW BLEY BLIN BLIP BLIT BLOB BLOC BLOG BLOT BLOW BLUB BLUE BLUR BOAB BOAK BOAR BOAS BOAT BOBA BOBS BOCK BODE BODS BODY BOEP BOET BOFF BOGS BOGY BOHO BOHS BOIL BOIS BOKE BOKO BOKS BOLA BOLD BOLE BOLL BOLO BOLT BOMA BOMB BONA BOND BONE BONG BONK BONY BOOB BOOH BOOK BOOL BOOM BOON BOOR BOOS BOOT BOPS BORA BORD BORE BORK BORM BORN BORS BORT BOSH BOSK BOSS BOTA BOTE BOTH BOTS BOTT BOUK BOUN BOUT BOWL BOWR BOWS BOXY BOYF BOYG BOYO BOYS BOZO BRAD BRAE BRAG BRAK BRAN BRAS BRAT BRAW BRAY BRED BREE BREI BREN BRER BREW BREY BRIE BRIG BRIK BRIM BRIN BRIO BRIS BRIT BROD BROG BROO BROS BROW BRRR BRUS BRUT BRUX BUAT BUBA BUBO BUBS BUBU BUCK BUDA BUDI BUDO BUDS BUFF BUFO BUGS BUHL BUHR BUIK BUKE BULB BULK BULL BUMF BUMP BUMS BUNA BUND BUNG BUNK BUNN BUNS BUNT BUOY BURA BURB BURD BURG BURK BURL BURN BURP BURR BURS BURY BUSH BUSK BUSS BUST BUSY BUTE BUTS BUTT BUYS BUZZ BYDE BYES BYKE BYRE BYRL BYTE
CAAS CABA CABS CACA CACK CADE CADI CADS CAFE CAFF CAGE CAGS CAGY CAID CAIN CAKE CAKY CALF CALK CALL CALM CALO CALP CALX CAMA CAME CAMO CAMP CAMS CANE CANG CANN CANS CANT CANY CAPA CAPE CAPH CAPI CAPO CAPS CARB CARD CARE CARK CARL CARN CARP CARR CARS CART CASA CASE CASH CASK CAST CATE CATS CAUF CAUK CAUL CAUM CAUP CAVA CAVE CAVY CAWK CAWS CAYS CEAS CECA CEDE CEDI CEES CEIL CELL CELS CELT CENS CENT CEPE CEPS CERE CERO CERT CESS CETE CHAD CHAI CHAL CHAM CHAO CHAP CHAR CHAS CHAT CHAV CHAW CHAY CHEF CHER CHEW CHEZ CHIA CHIB CHIC CHID CHIK CHIN CHIP CHIS CHIT CHIV CHIZ CHOC CHOG CHON CHOP CHOU CHOW CHUB CHUG CHUM CHUR CHUT CIAO CIDE CIDS CIEL CIGS CILL CINE CION CIRE CIRL CIST CITE CITO CITS CITY CIVE CLAD CLAG CLAM CLAN CLAP CLAT CLAW CLAY CLEF CLEG CLEM CLEW CLIP CLIT CLOD CLOG CLON CLOP CLOT CLOU CLOW CLOY CLUB CLUE COAL COAT COAX COBB COBS COCA COCH COCK COCO CODA CODE CODS COED COFF COFT COGS COHO COIF COIL COIN COIR COIT COKE COKY COLA COLD COLE COLL COLS COLT COLY COMA COMB COME COMM COMP COMS COND CONE CONF CONI CONK CONN CONS CONY COOF COOK COOL COOM COON COOP COOS COOT COPE COPS COPY CORD CORE CORF CORK CORM CORN CORS CORY COSE COSH COSS COST COSY COTE COTH COTS COTT COUP COUR COVE COWK COWL COWP COWS COWY COXA COXY COYS COZE COZY CRAB CRAG CRAM CRAN CRAP CRAW CRAY CRED CREE CREM CREW CRIA CRIB CRIM CRIS CRIT CROC CROG CROP CROW CRUD CRUE CRUS CRUX CUBE CUBS CUDS CUED CUES CUFF CUIF CUIT CUKE CULL CULM CULT CUMS CUNT CUPS CURB CURD CURE CURF CURL CURN CURR CURS CURT CUSH CUSK CUSP CUSS CUTE CUTS CWMS CYAN CYMA CYME CYST CYTE CZAR
DAAL DABS DACE DACK DADA DADO DADS DAES DAFF DAFT DAGO DAGS DAHL DAHS DAIS DAKS DALE DALI DALS DALT DAME DAMN DAMP DAMS DANG DANK DANS DANT DAPS DARB DARE DARG DARI DARK DARN DART DASH DATA DATE DATO DAUB DAUD DAUR DAUT DAVY DAWD DAWK DAWN DAWS DAWT DAYS DAZE DEAD DEAF DEAL DEAN DEAR DEAW DEBE DEBS DEBT DECK DECO DEED DEEK DEEM DEEN DEEP DEER DEES DEET DEEV DEFI DEFO DEFT DEFY DEGS DEGU DEID DEIF DEIL DEKE DELE DELF DELI DELL DELO DELS DELT DEME DEMO DEMY DENE DENI DENS DENT DENY DERE DERM DERN DERO DERV DESI DESK DEUS DEVA DEVS DEWS DEWY DEXY DEYS DHAK DHAL DHOL DHOW DIAL DIBS DICE DICH DICK DICT DIDO DIDY DIEB DIED DIEL DIES DIET DIFF DIFS DIGS DIKA DIKE DILL DIME DIMP DIMS DINE DING DINK DINO DINS DINT DIOL DIPS DIPT DIRE DIRK DIRL DIRT DISA DISC DISH DISK DISS DITA DITE DITS DITT DITZ DIVA DIVE DIVI DIVO DIVS DIXI DIXY DIYA DJIN DOAB DOAT DOBS DOBY DOCK DOCO DOCS DODO DODS DOEK DOEN DOER DOES DOFF DOGE DOGS DOGY DOHS DOIT DOJO DOLE DOLL DOLS DOLT DOME DOMS DOMY DONA DONE DONG DONS DOOB DOOK DOOL DOOM DOON DOOR DOOS DOPA DOPE DOPS DOPY DORB DORE DORK DORM DORP DORR DORS DORT DORY DOSE DOSH DOSS DOST DOTE DOTH DOTS DOTY DOUC DOUK DOUM DOUN DOUP DOUR DOUT DOUX DOVE DOWD DOWF DOWL DOWN DOWP DOWS DOWT DOXY DOYS DOZE DOZY DRAB DRAC DRAD DRAG DRAM DRAP DRAT DRAW DRAY DREE DREG DREK DREW DREY DRIB DRIP DROP DROW DRUB DRUG DRUM DRYS DSOS DUAD DUAL DUAN DUAR DUBS DUCE DUCI DUCK DUCT DUDE DUDS DUED DUEL DUES DUET DUFF DUGS DUIT DUKA DUKE DULE DULL DULY DUMA DUMB DUMP DUNE DUNG DUNK DUNS DUNT DUOS DUPE DUPS DURA DURE DURN DURO DURR DUSH DUSK DUST DUTY DWAM DYAD DYED DYER DYES DYKE DYNE DZHO DZOS
EACH EALE EANS EARD EARL EARN EARS EASE EAST EASY EATH EATS EAUS EAUX EAVE EBBS EBON ECAD ECCE ECCO ECHE ECHO ECHT ECOD ECOS ECRU ECUS EDDO EDDY EDGE EDGY EDHS EDIT EECH EELS EELY EERY EEVN EFFS EFTS EGAD EGAL EGER EGGS EGGY EGIS EGMA EGOS EHED EIDE EIKS EILD EINA EINE EISH EKED EKES EKKA ELAN ELDS ELFS ELHI ELKS ELLS ELMS ELMY ELSE ELTS EMES EMEU EMIC EMIR EMIT EMMA EMMY EMOS EMPT EMUS EMYD EMYS ENDS ENES ENEW ENGS ENOL ENOW ENUF ENVY EOAN EONS EORL EPEE EPHA EPIC EPOS ERAS ERED ERES EREV ERGO ERGS ERHU ERIC ERKS ERNE ERNS EROS ERRS ERST ERUV ESES ESKY ESNE ESPY ESSE ESTS ETAS ETAT ETCH ETEN ETHE ETHS ETIC ETNA ETUI EUGE EUGH EUKS EUOI EURO EVEN EVER EVES EVET EVIL EVOE EVOS EWER EWES EWKS EWTS EXAM EXEC EXED EXES EXIT EXON EXPO EXUL EYAS EYED EYEN EYER EYES EYNE EYOT EYRA EYRE EYRY
FAAN FAAS FABS FACE FACT FADE FADO FADS FADY FAFF FAGS FAHS FAIK FAIL FAIN FAIR FAIX FAKE FALL FALX FAME FAND FANE FANG FANK FANO FANS FARD FARE FARL FARM FARO FARS FART FASH FAST FATE FATS FAUN FAUR FAUT FAUX FAVA FAVE FAWN FAWS FAYS FAZE FEAL FEAR FEAT FECK FEDS FEEB FEED FEEL FEEN FEER FEES FEET FEGS FEHM FEHS FEIS FELL FELT FEME FEMS FEND FENI FENS FENT FEOD FERE FERM FERN FESS FEST FETA FETE FETS FETT FEUD FEUS FEWS FEYS FIAR FIAT FIBS FICE FICO FIDO FIDS FIEF FIER FIFE FIGO FIGS FIKE FIKY FILA FILE FILL FILM FILO FILS FIND FINE FINI FINK FINO FINS FIQH FIRE FIRK FIRM FIRN FIRS FISC FISH FISK FIST FITS FITT FIVE FIXT FIZZ FLAB FLAG FLAK FLAM FLAN FLAP FLAT FLAW FLAX FLAY FLEA FLED FLEE FLEG FLEW FLEX FLEY FLIC FLIM FLIP FLIR FLIT FLIX FLOB FLOC FLOE FLOG FLOP FLOR FLOW FLOX FLUB FLUE FLUS FLUX FOAL FOAM FOBS FOCI FOEN FOES FOGS FOGY FOHN FOID FOIL FOIN FOLD FOLK FOND FONE FONS FONT FOOD FOOL FOOT FOPS FORA FORB FORD FORE FORK FORM FORT FOSS FOUD FOUL FOUR FOUS FOWL FOXY FOYS FOZY FRAB FRAE FRAG FRAP FRAS FRAT FRAU FRAY FREE FRET FRIB FRIG FRIS FRIT FRIZ FROE FROG FROM FROS FROW FRUG FUBS FUCI FUCK FUDS FUEL FUFF FUGS FUGU FUJI FULL FUME FUMS FUMY FUND FUNG FUNK FUNS FURL FURR FURS FURY FUSC FUSE FUSS FUST FUTZ FUZE FUZZ FYCE FYKE FYLE FYRD
GABS GABY GADE GADI GADS GAED GAEN GAES GAFF GAGA GAGE GAGS GAID GAIN GAIR GAIT GAJO GAKS GALA GALE GALL GALS GAMA GAMB GAME GAMP GAMS GAMY GANE GANG GANS GANT GAOL GAPE GAPO GAPS GAPY GARB GARE GARI GARS GART GASH GASP GAST GATE GATH GATS GAUD GAUM GAUN GAUP GAUR GAUS GAVE GAWD GAWK GAWP GAWS GAYS GAZE GAZY GEAL GEAN GEAR GEAT GECK GEDS GEED GEEK GEEP GEES GEEZ GEIT GELD GELS GELT GEMS GENA GENE GENS GENT GENU GEOS GERE GERM GERS GERT GEST GETA GETS GEUM GHAT GHEE GHIS GIBE GIBS GIDS GIED GIEN GIES GIFT GIGA GIGS GILA GILD GILL GILT GIMP GING GINK GINN GINS GIOS GIPS GIRD GIRL GIRN GIRO GIRR GIRT GISM GIST GITE GITS GIVE GIZZ GJUS GLAD GLAM GLED GLEE GLEG GLEI GLEN GLEY GLIA GLIB GLID GLIM GLIT GLOB GLOM GLOP GLOW GLUE GLUG GLUM GLUT GNAR GNAT GNAW GNOW GNUS GOAD GOAF GOAL GOAS GOAT GOBI GOBO GOBS GOBY GODS GOEL GOER GOES GOEY GOFF GOGO GOJI GOLD GOLE GOLF GOLP GONE GONG GONK GONS GOOD GOOF GOOG GOOK GOOL GOON GOOP GOOR GOOS GORA GORE GORI GORM GORP GORY GOSH GOSS GOTH GOUK GOUT GOVS GOWD GOWF GOWK GOWL GOWN GOYS GRAB GRAD GRAM GRAN GRAT GRAV GRAY GREE GREN GREW GREX GREY GRID GRIG GRIM GRIN GRIP GRIS GRIT GROG GROK GROT GROW GRRL GRUB GRUE GRUM GUAN GUAR GUBS GUCK GUDE GUES GUFF GUGA GUID GULA GULE GULF GULL GULP GULS GULY GUMP GUMS GUNG GUNK GUNS GUPS GURL GURN GURS GURU GUSH GUST GUTS GUVS GUYS GYAL GYBE GYMP GYMS GYNY GYPS GYRE GYRI GYRO GYTE GYVE
HAAF HAAR HABU HACK HADE HADJ HADS HAED HAEM HAEN HAES HAET HAFF HAFT HAGG HAGS HAHA HAHS HAIK HAIL HAIN HAIR HAJI HAJJ HAKA HAKE HAKU HALE HALF HALL HALM HALO HALT HAME HAMS HAND HANG HANK HANT HAOS HAPS HAPU HARD HARE HARK HARL HARM HARN HARO HARP HART HASH HASK HASP HASS HAST HATE HATH HATS HAUD HAUF HAUL HAUT HAVE HAWK HAWM HAWS HAYS HAZE HAZY HEAD HEAL HEAP HEAR HEAT HEBE HECH HECK HEED HEEL HEFT HEHS HEID HEIL HEIR HELD HELE HELL HELM HELO HELP HEME HEMP HEMS HEND HENS HENT HEPS HEPT HERB HERD HERE HERL HERM HERN HERO HERS HERY HESP HEST HETE HETH HETS HEWN HEWS HEYS HICK HIDE HIED HIES HIGH HIKE HILA HILD HILI HILL HILT HIMS HIND HING HINS HINT HIOI HIPS HIPT HIRE HISH HISN HISS HIST HITS HIVE HIYA HIZZ HOAR HOAS HOAX HOBO HOBS HOCK HODS HOED HOER HOES HOGG HOGH HOGS HOHA HOHS HOIK HOKA HOKE HOKI HOLD HOLE HOLK HOLM HOLP HOLS HOLT HOLY HOMA HOME HOMO HOMS HOMY HOND HONE HONG HONK HONS HOOD HOOF HOOK HOON HOOP HOOR HOOT HOPE HOPS HORA HORE HORI HORN HORS HOSE HOSS HOST HOTE HOTS HOUF HOUR HOUT HOVE HOWE HOWF HOWK HOWL HOWS HOYA HOYS HUBS HUCK HUED HUER HUES HUFF HUGE HUGS HUGY HUHU HUIA HUIC HUIS HULA HULE HULK HULL HUMA HUMF HUMP HUMS HUNG HUNH HUNK HUNS HUNT HUPS HURL HURT HUSH HUSK HUSO HUSS HUTS HWAN HWYL HYED HYEN HYES HYKE HYLA HYLE HYMN HYPE HYPO HYPS HYTE
IAMB IBEX IBIS ICED ICER ICES ICHS ICKY ICON IDEA IDEE IDEM IDES IDLE IDLY IDOL IDYL IFFY IGAD IGGS IGLU IKAN IKAT IKON ILEA ILEX ILIA ILKA ILKS ILLS ILLY IMAM IMID IMMY IMPI IMPS INBY INCH INFO INGO INGS INIA INKS INKY INLY INNS INRO INTI INTO IONS IOTA IRED IRES IRID IRIS IRKS IRON ISBA ISIT ISLE ISMS ISNA ISOS ITAS ITCH ITEM IURE IWIS IXIA IZAR
JAAP JABS JACK JADE JAFA JAGA JAGG JAGS JAIL JAKE JAKS JAMB JAMS JANE JANN JAPE JAPS JARK JARL JARP JARS JASP JASS JASY JATO JAUK JAUP JAVA JAWS JAXY JAYS JAZY JAZZ JEAN JEAT JEDI JEED JEEL JEEP JEER JEES JEEZ JEFE JEFF JEHU JELL JEON JERK JESS JEST JETE JETS JEUX JEWS JIAO JIBB JIBE JIBS JIFF JIGS JILL JILT JIMP JINK JINN JINS JINX JIRD JISM JIVE JIVY JIZZ JOBE JOBS JOCK JOCO JOES JOEY JOGS JOHN JOIN JOKE JOKY JOLE JOLL JOLS JOLT JOMO JONG JOOK JORS JOSH JOSS JOTA JOTS JOUK JOUR JOWL JOWS JOYS JUBA JUBE JUCO JUDO JUDS JUDY JUGA JUGS JUJU JUKE JUKU JUMP JUNK JUPE JURA JURE JURY JUST JUTE JUTS JUVE JYNX
KAAL KAAS KABS KACK KADE KADI KAED KAES KAFS KAGO KAGU KAID KAIE KAIF KAIK KAIL KAIM KAIN KAIS KAKA KAKI KAKS KALE KALI KAMA KAME KAMI KANA KANE KANG KANS KANT KAON KAPA KAPH KARA KARK KARN KARO KART KATA KATI KATS KAVA KAWA KAWS KAYO KAYS KAZI KBAR KEAS KEBS KECK KEDS KEEF KEEK KEEL KEEN KEEP KEET KEFS KEGS KEIR KEKS KELL KELP KELT KEMB KEMP KENO KENS KENT KEPI KEPS KEPT KERB KERF KERN KERO KESH KEST KETA KETE KETO KETS KEWL KEYS KHAF KHAN KHAT KHET KHIS KHOR KHUD KIBE KICK KIDS KIEF KIER KIEV KIFF KIFS KIKE KILD KILL KILN KILO KILP KILT KINA KIND KINE KING KINK KINO KINS KIPE KIPP KIPS KIRK KIRN KIRS KISH KISS KIST KITE KITH KITS KIVA KIWI KLAP KLIK KNAG KNAP KNAR KNEE KNEW KNIT KNOB KNOP KNOT KNOW KNUB KNUR KNUT KOAN KOAP KOAS KOBO KOBS KOEL KOFF KOHA KOHL KOIS KOJI KOKA KOLA KOLO KOND KONK KONS KOOK KOPH KOPS KORA KORE KORO KORS KORU KOSS KOTO KOWS KRAB KRIS KSAR KUDO KUDU KUEH KUES KUFI KUIA KUKU KULA KUNA KUNE KURI KURU KUTA KUTI KUTU KUZU KVAS KYAK KYAR KYAT KYBO KYES KYLE KYND KYNE KYPE KYTE KYUS
LABS LACE LACK LACS LACY LADE LADS LADY LAER LAGS LAHS LAIC LAID LAIK LAIN LAIR LAKE LAKH LAKY LALL LAMA LAMB LAME LAMP LAMS LANA LAND LANE LANG LANK LANT LANX LAPS LARD LARE LARI LARK LARN LARS LASE LASH LASS LAST LATE LATH LATI LATS LATU LAUD LAUF LAVA LAVE LAVS LAWK LAWN LAWS LAYS LAZE LAZO LAZY LEAD LEAF LEAK LEAL LEAM LEAN LEAP LEAR LEAS LEAT LECH LEED LEEK LEEP LEER LEES LEET LEFT LEGS LEHR LEIR LEIS LEKE LEKS LEKU LEME LEND LENG LENO LENS LENT LEPS LEPT LERE LERP LESS LEST LETS LEUD LEVA LEVE LEVO LEVY LEWD LEYS LEZZ LIAR LIAS LIBS LICE LICH LICK LIDO LIDS LIED LIEF LIEN LIER LIES LIEU LIFE LIFT LIGS LIKE LILL LILO LILT LILY LIMA LIMB LIME LIMN LIMO LIMP LIMY LIND LINE LING LINK LINN LINO LINS LINT LINY LION LIPA LIPE LIPO LIPS LIRA LIRE LIRI LIRK LISK LISP LIST LITE LITH LITS LITU LIVE LOAD LOAF LOAM LOAN LOBE LOBI LOBO LOBS LOCA LOCH LOCI LOCK LOCO LODE LODS LOFT LOGE LOGO LOGS LOGY LOID LOIN LOIR LOKE LOLL LOMA LOME LONE LONG LOOF LOOK LOOM LOON LOOP LOOR LOOS LOOT LOPE LOPS LORD LORE LORN LORY LOSE LOSH LOSS LOST LOTA LOTE LOTH LOTI LOTO LOTS LOUD LOUN LOUP LOUR LOUS LOUT LOVE LOWE LOWN LOWP LOWS LOWT LOYS LUAU LUBE LUCE LUCK LUDE LUDO LUDS LUES LUFF LUGE LUGS LUIT LUKE LULL LULU LUMA LUMP LUMS LUNA LUNE LUNG LUNK LUNT LUNY LURE LURK LURS LUSH LUSK LUST LUTE LUTZ LUVS LUXE LWEI LYAM LYCH LYES LYME LYMS LYNE LYNX LYRA LYRE LYSE LYTE
MAAR MAAS MABE MACE MACH MACK MACS MADE MADS MAES MAGE MAGG MAGI MAGS MAHA MAID MAIK MAIL MAIM MAIN MAIR MAKE MAKI MAKO MAKS MALA MALE MALI MALL MALM MALS MALT MAMA MAMS MANA MAND MANE MANG MANI MANO MANS MANY MAPS MARA MARC MARD MARE MARG MARK MARL MARM MARS MART MARY MASA MASE MASH MASK MASS MAST MASU MATE MATH MATS MATT MATY MAUD MAUL MAUN MAUT MAWK MAWN MAWR MAWS MAXI MAYA MAYO MAYS MAZE MAZY MEAD MEAL MEAN MEAT MECK MEDS MEED MEEK MEER MEES MEET MEFF MEGA MEGS MEIN MELA MELD MELL MELS MELT MEME MEMO MEMS MEND MENE MENG MENO MENT MENU MEOU MEOW MERC MERE MERI MERK MERL MESA MESE MESH MESS META METE METH METS MEUS MEVE MEWL MEWS MEZE MEZZ MHOS MIBS MICA MICE MICH MICK MICO MICS MIDI MIDS MIEN MIFF MIGG MIGS MIHA MIHI MIKE MILD MILE MILF MILK MILL MILO MILS MILT MIME MINA MIND MINE MING MINI MINK MINO MINT MINX MINY MIPS MIRE MIRI MIRK MIRO MIRS MIRV MIRY MISE MISO MISS MIST MITE MITT MITY MIXT MIXY MIZZ MNAS MOAI MOAN MOAS MOAT MOBE MOBS MOBY MOCH MOCK MOCS MODE MODI MODS MOER MOES MOFO MOGS MOHR MOIL MOIT MOJO MOKE MOKI MOKO MOLA MOLD MOLE MOLL MOLS MOLT MOLY MOME MOMI MOMS MONA MONG MONK MONO MONS MONY MOOD MOOI MOOK MOOL MOON MOOP MOOR MOOS MOOT MOPE MOPS MOPY MORA MORE MORN MORS MORT MOSE MOSH MOSK MOSS MOST MOTE MOTH MOTI MOTS MOTT MOTU MOUE MOUP MOUS MOVE MOWA MOWN MOWS MOXA MOYA MOYL MOYS MOZE MOZO MOZZ MUCH MUCK MUDS MUFF MUGG MUGS MUID MUIL MUIR MULE MULL MUMM MUMP MUMS MUMU MUNG MUNI MUNS MUNT MUON MURA MURE MURK MURL MURR MUSE MUSH MUSK MUSO MUSS MUST MUTE MUTI MUTS MUTT MUZZ MWAH MYAL MYCS MYNA MYTH MYXO MZEE
NAAM NAAN NABE NABK NABS NACH NADA NADS NAFF NAGA NAGS NAIF NAIK NAIL NAIN NALA NAME NAMS NAMU NANA NANE NANG NANS NAOI NAOS NAPA NAPE NAPS NARC NARD NARE NARK NARY NATS NAVE NAVY NAYS NAZE NAZI NEAL NEAP NEAR NEAT NEBS NECK NEDS NEED NEEM NEEP NEFS NEGS NEIF NEKS NEMA NEMN NENE NEON NEPS NERD NERK NESH NESS NEST NETE NETS NETT NEUK NEUM NEVE NEVI NEWS NEWT NEXT NGAI NIBS NICE NICK NIDE NIDI NIDS NIED NIEF NIES NIFE NIFF NIGH NILL NILS NIMB NIMS NINE NIPA NIPS NIRL NISH NISI NITE NITS NIXE NIXY NOAH NOBS NOCK NODE NODI NODS NOEL NOES NOGG NOGS NOIL NOIR NOLE NOLL NOLO NOMA NOME NOMS NONA NONE NONG NONI NOOB NOOK NOON NOOP NOPE NORI NORK NORM NOSE NOSH NOSY NOTA NOTE NOTT NOUL NOUN NOUP NOUS NOUT NOVA NOWL NOWN NOWS NOWT NOWY NOYS NUBS NUDE NUFF NUKE NULL NUMB NUNS NURD NURL NURR NURS NUTS NYAS NYED NYES
OAFS OAKS OAKY OARS OARY OAST OATH OATS OATY OBAS OBES OBEY OBIA OBIS OBIT OBOE OBOL OBOS OCAS OCCY OCHE OCTA ODAH ODAL ODAS ODDS ODEA ODES ODIC ODOR ODSO ODYL OFAY OFFS OFFY OGAM OGEE OGLE OGRE OHED OHIA OHMS OIKS OILS OILY OINK OINT OKAS OKAY OKEH OKES OKRA OKTA OLDE OLDS OLDY OLEA OLEO OLES OLID OLIO OLLA OLMS OLPE OMBU OMEN OMER OMIT OMOV ONCE ONER ONES ONIE ONLY ONOS ONST ONTO ONUS ONYX OOFS OOFY OOHS OOMS OONS OONT OOPS OOSE OOSY OOTS OOZE OOZY OPAH OPAL OPED OPEN OPES OPPO OPTS OPUS ORAD ORAL ORBS ORBY ORCA ORCS ORDO ORDS ORES ORFE ORFS ORGY ORLE ORRA ORTS ORYX ORZO OSAR OSES OSSA OTIC OTTO OUCH OUDS OUKS OULD OULK OUMA OUPA OUPH OUPS OURN OURS OUST OUTS OUZO OVAL OVEL OVEN OVER OVUM OWED OWER OWES OWLS OWLY OWNS OWRE OWSE OWTS OXEN OXER OXES OXID OXIM OYER OYES OYEZ PAAL
PAAN PACA PACE PACK PACO PACS PACT PACY PADI PADS PAGE PAHS PAID PAIK PAIL PAIN PAIR PAIS PALE PALL PALM PALP PALS PALY PAMS PAND PANE PANG PANS PANT PAPA PAPE PAPS PARA PARD PARE PARK PARP PARR PARS PART PASE PASH PASS PAST PATE PATH PATS PATU PATY PAUA PAUL PAVE PAVS PAWA PAWK PAWL PAWN PAWS PAYS PEAG PEAK PEAL PEAN PEAR PEAS PEAT PEBA PECH PECK PECS PEDS PEED PEEK PEEL PEEN PEEP PEER PEES PEGH PEGS PEHS PEIN PEKE PELA PELE PELF PELL PELS PELT PEND PENE PENI PENK PENS PENT PEON PEPO PEPS PERE PERI PERK PERM PERN PERP PERT PERV PESO PEST PETS PEWS PFFT PFUI PHAT PHEW PHIS PHIZ PHOH PHON PHOS PHOT PHUT PIAL PIAN PIAS PICA PICE PICK PICS PIED PIER PIES PIET PIGS PIKA PIKE PIKI PILA PILE PILI PILL PILY PIMA PIMP PINA PINE PING PINK PINS PINT PINY PION PIOY PIPA PIPE PIPI PIPS PIPY PIRL PIRN PIRS PISE PISH PISO PISS PITA PITH PITS PITY PIUM PIXY PIZE PLAN PLAP PLAT PLAY PLEA PLEB PLED PLEW PLEX PLIE PLIM PLOD PLOP PLOT PLOW PLOY PLUE PLUG PLUM PLUS POAS POCK POCO PODS POEM POEP POET POGO POGY POIS POKE POKY POLE POLK POLL POLO POLS POLT POLY POME POMO POMP POMS POND PONE PONG PONK PONS PONT PONY POOD POOF POOH POOK POOL POON POOP POOR POOS POOT POPE POPS PORE PORK PORN PORT PORY POSE POSH POSS POST POSY POTE POTS POTT POUF POUK POUR POUT POWN POWS POXY POZZ PRAD PRAM PRAO PRAT PRAU PRAY PREE PREM PREP PREX PREY PREZ PRIG PRIM PROA PROB PROD PROF PROG PROM PROO PROP PROS PROW PRUH PRYS PSIS PSST PTUI PUBE PUBS PUCE PUCK PUDS PUDU PUER PUFF PUGH PUGS PUHA PUIR PUJA PUKA PUKE PUKU PUKY PULA PULE PULI PULK PULL PULP PULS PULU PULY PUMA PUMP PUMY PUNA PUNG PUNK PUNS PUNT PUNY PUPA PUPS PUPU PURE PURI PURL PURR PURS PUSH PUSS PUTS PUTT PUTZ PUYS PYAS PYAT PYES PYET PYIC PYIN PYNE PYOT PYRE PYRO QADI
QAID QATS QINS QOPH QUAD QUAG QUAI QUAT QUAY QUEP QUEY QUID QUIM QUIN QUIP QUIT QUIZ QUOD QUOP
RABI RACA RACE RACH RACK RACY RADE RADS RAFF RAFT RAGA RAGE RAGG RAGI RAGS RAGU RAHS RAIA RAID RAIK RAIL RAIN RAIS RAIT RAJA RAKE RAKI RAKU RALE RAMI RAMP RAMS RANA RAND RANG RANI RANK RANT RAPE RAPS RAPT RARE RARK RASE RASH RASP RAST RATA RATE RATH RATO RATS RATU RAUN RAVE RAVS RAWN RAWS RAYA RAYS RAZE RAZZ READ REAK REAL REAM REAN REAP REAR REBS RECK RECS REDD REDE REDO REDS REED REEF REEK REEL REEN REES REFS REFT REGO REGS REHS REIF REIK REIN REIS REKE RELY REMS REND RENK RENS RENT RENY REOS REPO REPP REPS RESH REST RETE RETS REVS REWS RHEA RHOS RHUS RIAD RIAL RIAS RIBA RIBS RICE RICH RICK RICY RIDE RIDS RIEL RIEM RIFE RIFF RIFS RIFT RIGG RIGS RILE RILL RIMA RIME RIMS RIMU RIMY RIND RINE RING RINK RINS RIOT RIPE RIPP RIPS RIPT RISE RISK RISP RITE RITS RITT RITZ RIVA RIVE RIVO RIZA ROAD ROAM ROAN ROAR ROBE ROBS ROCH ROCK ROCS RODE RODS ROED ROES ROIL ROIN ROJI ROKE ROKS ROKY ROLE ROLF ROLL ROMA ROMP ROMS RONE RONG RONT RONZ ROOD ROOF ROOK ROOM ROON ROOP ROOS ROOT ROPE ROPY RORE RORT RORY ROSE ROST ROSY ROTA ROTE ROTI ROTL ROTO ROTS ROUE ROUL ROUM ROUP ROUT ROUX ROVE ROWS ROWT RUBE RUBS RUBY RUCK RUCS RUDD RUDE RUDS RUED RUER RUES RUFF RUGA RUGS RUIN RUKH RULE RULY RUME RUMP RUMS RUND RUNE RUNG RUNS RUNT RURP RURU RUSA RUSE RUSH RUSK RUST RUTH RUTS RYAL RYAS RYES RYFE RYKE RYND RYOT RYPE
SAAG SABE SABS SACK SACS SADE SADI SADO SADS SAFE SAFT SAGA SAGE SAGO SAGS SAGY SAIC SAID SAIL SAIM SAIN SAIR SAIS SAKE SAKI SALE SALL SALP SALS SALT SAMA SAME SAMP SAMS SAND SANE SANG SANK SANS SANT SAPS SARD SARI SARK SARS SASH SASS SATE SATI SAUL SAUT SAVE SAVS SAWN SAWS SAXE SAYS SCAB SCAD SCAG SCAM SCAN SCAR SCAT SCAW SCOG SCOP SCOT SCOW SCRY SCUD SCUG SCUL SCUM SCUP SCUR SCUT SCYE SEAL SEAM SEAN SEAR SEAS SEAT SECH SECO SECS SECT SEED SEEK SEEL SEEM SEEN SEEP SEER SEES SEGO SEGS SEIF SEIK SEIL SEIR SEIS SEKT SELD SELE SELF SELL SELS SEME SEMI SENA SEND SENE SENS SENT SEPS SEPT SERA SERE SERF SERK SERR SERS SESE SESH SESS SETA SETS SETT SEWN SEWS SEXT SEXY SEYS SHAD SHAG SHAH SHAM SHAN SHAT SHAW SHAY SHEA SHED SHES SHET SHEW SHIM SHIN SHIP SHIR SHIT SHIV SHMO SHOD SHOE SHOG SHOO SHOP SHOT SHOW SHRI SHUL SHUN SHUT SHWA SIAL SIBB SIBS SICE SICH SICK SICS SIDA SIDE SIDH SIEN SIES SIFT SIGH SIGN SIJO SIKA SIKE SILD SILE SILK SILL SILO SILT SIMA SIMI SIMP SIMS SIND SINE SING SINH SINK SINS SIPE SIPS SIRE SIRI SIRS SISS SIST SITE SITH SITS SITZ SIZE SIZY SJOE SKAG SKAS SKAT SKAW SKEE SKEG SKEN SKEO SKEP SKER SKET SKEW SKID SKIM SKIN SKIO SKIP SKIS SKIT SKOL SKRY SKUA SKUG SKYF SKYR SLAB SLAE SLAG SLAM SLAP SLAT SLAW SLAY SLEB SLED SLEE SLEW SLEY SLID SLIM SLIP SLIT SLOB SLOE SLOG SLOP SLOT SLOW SLUB SLUE SLUG SLUM SLUR SLUT SMEE SMEW SMIR SMIT SMOG SMUG SMUR SMUT SNAB SNAG SNAP SNAR SNAW SNEB SNED SNEE SNIB SNIG SNIP SNIT SNOB SNOD SNOG SNOT SNOW SNUB SNUG SNYE SOAK SOAP SOAR SOBA SOBS SOCA SOCK SOCS SODA SODS SOFA SOFT SOGS SOHO SOHS SOIL SOJA SOKE SOLA SOLD SOLE SOLI SOLO SOLS SOMA SOME SOMS SOMY SONE SONG SONS SOOK SOOL SOOM SOON SOOP SOOT SOPH SOPS SORA SORB SORD SORE SORI SORN SORT SOSS SOTH SOTS SOUK SOUL SOUM SOUP SOUR SOUS SOUT SOVS SOWF SOWL SOWM SOWN SOWP SOWS SOYA SOYS SPAE SPAG SPAM SPAN SPAR SPAS SPAT SPAW SPAY SPAZ SPEC SPED SPEK SPET SPEW SPIC SPIE SPIF SPIK SPIM SPIN SPIT SPIV SPOD SPOT SPRY SPUD SPUE SPUG SPUN SPUR SRIS STAB STAG STAP STAR STAT STAW STAY STED STEM STEN STEP STET STEW STEY STIE STIM STIR STOA STOB STOP STOT STOW STUB STUD STUM STUN STYE SUBA SUBS SUCH SUCK SUDD SUDS SUED SUER SUES SUET SUGH SUGO SUGS SUID SUIT SUKH SUKS SULK SULU SUMO SUMP SUMS SUMY SUNG SUNI SUNK SUNN SUNS SUPE SUPS SUQS SURA SURD SURE SURF SUSS SUSU SWAB SWAD SWAG SWAM SWAN SWAP SWAT SWAY SWEE SWEY SWIG SWIM SWIZ SWOB SWOP SWOT SWUM SYBO SYCE SYED SYEN SYES SYKE SYLI SYNC SYND SYNE SYPE SYPH
TAAL TABI TABS TABU TACE TACH TACK TACO TACT TADS TAED TAEL TAES TAGS TAHA TAHR TAIG TAIL TAIN TAIS TAIT TAKA TAKE TAKI TAKS TAKY TALA TALC TALE TALI TALK TALL TAME TAMP TAMS TANA TANE TANG TANH TANK TANS TAOS TAPA TAPE TAPS TAPU TARA TARE TARN TARO TARP TARS TART TASH TASK TASS TATE TATH TATS TATT TATU TAUS TAUT TAVA TAVS TAWA TAWS TAWT TAXA TAXI TAYS TEAD TEAK TEAL TEAM TEAR TEAS TEAT TECH TECS TEDS TEDY TEED TEEK TEEL TEEM TEEN TEER TEES TEFF TEFS TEGG TEGS TEGU TEHR TEIL TEIN TELA TELD TELE TELL TELS TELT TEME TEMP TEMS TEND TENE TENS TENT TEPA TERF TERM TERN TEST TETE TETH TETS TEWS TEXT THAE THAN THAR THAT THAW THEE THEM THEN THEW THEY THIG THIN THIO THIR THIS THON THOU THRO THRU THUD THUG THUS TIAN TIAR TICE TICH TICK TICS TIDE TIDS TIDY TIED TIER TIES TIFF TIFT TIGE TIGS TIKA TIKE TIKI TIKS TILE TILL TILS TILT TIME TINA TIND TINE TING TINK TINS TINT TINY TIPI TIPS TIPT TIRE TIRL TIRO TIRR TITE TITI TITS TIVY TIZZ TOAD TOBY TOCK TOCO TOCS TODS TODY TOEA TOED TOES TOEY TOFF TOFT TOFU TOGA TOGE TOGS TOHO TOIL TOIT TOKE TOKO TOLA TOLD TOLE TOLL TOLT TOLU TOMB TOME TOMO TOMS TONE TONG TONK TONS TONY TOOK TOOL TOOM TOON TOOT TOPE TOPH TOPI TOPO TOPS TORA TORC TORE TORI TORN TORO TORR TORS TORT TORY TOSA TOSE TOSH TOSS TOST TOTE TOTS TOUK TOUN TOUR TOUT TOWN TOWS TOWT TOWY TOYO TOYS TOZE TRAD TRAM TRAP TRAT TRAY TREE TREF TREK TRES TRET TREW TREY TREZ TRIE TRIG TRIM TRIN TRIO TRIP TROD TROG TRON TROP TROT TROW TROY TRUE TRUG TRYE TRYP TSAR TSKS TUAN TUBA TUBE TUBS TUCK TUFA TUFF TUFT TUGS TUIS TULE TUMP TUMS TUNA TUND TUNE TUNG TUNS TUNY TUPS TURD TURF TURK TURM TURN TUSH TUSK TUTS TUTU TUZZ TWAE TWAL TWAS TWAT TWAY TWEE TWIG TWIN TWIT TWOS TYDE TYED TYEE TYER TYES TYGS TYIN TYKE TYMP TYND TYNE TYPE TYPO TYPP TYPY TYRE TYRO TYTE TZAR
UDAL UDON UDOS UEYS UFOS UGHS UGLY UKES ULAN ULES ULEX ULNA ULUS ULVA UMBO UMMA UMPH UMPS UMPY UMRA UMUS UNAI UNAU UNBE UNCE UNCI UNCO UNDE UNDO UNDY UNIS UNIT UNTO UPAS UPBY UPDO UPGO UPON UPSY UPTA URAO URBS URDE URDS URDY UREA URES URGE URIC URNS URPS URSA URUS URVA USED USER USES UTAS UTES UTIS UTUS UVAE UVAS UVEA
VACS VADE VAES VAGI VAGS VAIL VAIN VAIR VALE VALI VAMP VANE VANG VANS VANT VARA VARE VARS VARY VASA VASE VAST VATS VATU VAUS VAUT VAVS VAWS VEAL VEEP VEER VEES VEGA VEGO VEHM VEIL VEIN VELA VELD VELE VELL VENA VEND VENT VERA VERB VERD VERS VERT VERY VEST VETO VETS VEXT VIAE VIAL VIAS VIBE VIBS VICE VIDE VIDS VIED VIER VIES VIEW VIGA VIGS VILD VILE VILL VIMS VINA VINE VINO VINS VINT VINY VIOL VIRE VIRL VISA VISE VITA VITE VIVA VIVE VIVO VIZY VLEI VLOG VOAR VOES VOID VOIP VOLA VOLE VOLK VOLS VOLT VORS VOTE VOWS VRIL VROT VROU VROW VUGG VUGH VUGS VULN VUMS
WAAC WABS WACK WADD WADE WADI WADS WADT WADY WAES WAFF WAFT WAGE WAGS WAID WAIF WAIL WAIN WAIR WAIS WAIT WAKA WAKE WAKF WALD WALE WALI WALK WALL WALY WAME WAND WANE WANG WANK WANS WANT WANY WAPS WAQF WARB WARD WARE WARK WARM WARN WARP WARS WART WARY WASE WASH WASP WAST WATE WATS WATT WAUK WAUL WAUR WAVE WAVY WAWA WAWE WAWL WAWS WAXY WAYS WEAK WEAL WEAN WEAR WEBS WEDS WEED WEEK WEEL WEEM WEEN WEEP WEER WEES WEET WEFT WEID WEIL WEIR WEKA WELD WELK WELL WELS WELT WEMB WEMS WENA WEND WENS WENT WEPT WERE WERO WERT WEST WETA WETS WEXE WEYS WHAE WHAM WHAP WHAT WHEE WHEN WHET WHEW WHEY WHID WHIG WHIM WHIN WHIO WHIP WHIR WHIT WHIZ WHOA WHOM WHOP WHOT WHOW WHUP WHYS WICE WICH WICK WIDE WIEL WIFE WIGS WIKI WILD WILE WILI WILL WILT WILY WIMP WIND WINE WING WINK WINN WINO WINS WINY WIPE WIRE WIRY WISE WISH WISP WISS WIST WITE WITH WITS WIVE WOAD WOCK WOES WOFS WOGS WOKE WOKS WOLD WOLF WOMB WONK WONS WONT WOOD WOOF WOOL WOON WOOS WOOT WOPS WORD WORE WORK WORM WORN WORT WOST WOTS WOVE WOWF WOWS WRAP WREN WRIT WUDS WUDU WULL WUSS WYCH WYES WYLE WYND WYNN WYNS WYTE
XRAY XYST
YAAR YABA YACK YADS YAFF YAGI YAGS YAHS YAKS YALD YALE YAMS YANG YANK YAPP YAPS YARD YARE YARK YARN YARR YATE YAUD YAUP YAWL YAWN YAWP YAWS YAWY YAYS YBET YEAD YEAH YEAN YEAR YEAS YEBO YECH YEDE YEED YEGG YELD YELK YELL YELM YELP YELT YENS YEPS YERD YERK YESK YEST YETI YETT YEUK YEVE YEWS YGOE YIDS YIKE YILL YINS YIPE YIPS YIRD YIRK YIRR YITE YLEM YLKE YMPE YMPT YOBS YOCK YODE YODH YODS YOGA YOGH YOGI YOKE YOKS YOLD YOLK YOMP YOND YONI YONT YOOF YOOP YORE YORK YORP YOUK YOUR YOUS YOWE YOWL YOWS YUAN YUCA YUCH YUCK YUFT YUGA YUGS YUKE YUKO YUKS YUKY YULE YUMP YUNX YUPS YURT YUTZ YUZU YWIS
ZACK ZAGS ZANY ZAPS ZARF ZARI ZATI ZEAL ZEAS ZEBU ZEDS ZEES ZEIN ZEKS ZELS ZEPS ZERK ZERO ZEST ZETA ZEZE ZHOS ZIFF ZIGS ZILA ZILL ZIMB ZINC ZINE ZING ZINS ZIPS ZITE ZITI ZITS ZIZZ ZOBO ZOBU ZOEA ZOIC ZOLS ZONA ZONE ZONK ZOOM ZOON ZOOS ZOOT ZORI ZOUK ZULU ZUPA ZURF ZYGA ZYME ZZZS

2020.08.13 21:40 ImilkYou Nashville Titans are gay

I say the same thing sometimes on YouTube and people are so out of touch with reality immediately call me out for slander. He is a cringy obese alcholic who has a lisp and I'm pretty sure is secretly gay with his boy toy Paul. I mean he had a q and a and he said his favorite sport to watch was cycling and his favorite football team was the Nashville titans...He really should be charged with tax fraud. He tries to get his viewers to pay for all his food and trips. And they do. So just say someone sends him \$40 for lunch, he will spend \$10 on lunch, write the \$10 off for taxes, then he says he donates the rest (yeah I'm sure he does and if he does I doubt it's all \$30) and writes that off for taxes. Hell he did a gofundme to do a collab video in New York and asked for \$350 he got \$400. New York is a few hours a way and he got \$20 worth of wings. And let's not forget he gets paid by google via Adsense! All his videos are over 10 minutes so he is getting more money for multiple ads on videos. I'm so glad CringeCon I mean CraveCon was a disaster and even though it was probably the cheapest convention ever I'm sure he lost a ton of money.

2020.08.10 09:28 Curious_Draft_320 Lingual vs metal. I need to decide!

I am 20 and i now need braces to correct my 80% overbite because i grind my teeth severely. My teeth are already super straight so I am only needing them for medical reasons over vanity. I can't seem to find many pros and cons for lingual braces and I am interested in that option as you cannot see them! I have only heard that lingual braces give you a very bad lisp and rip up your tongue which terrifies me, but I want to hear what you guys think is better? Also I can't get Invisalign so sadly that is not an option :(

2020.08.03 10:35 pragmat1c1 Idiomatic way to process optional arguments?

In the Elisp code snippet below I am processing optional arguments by always asking if they were provided.
In a more condensed form, what I do is this:
` (defun my-function (a &optional b) (+ a (if a a 0))) ;; I end up having many lines like this `(if a a (else-part))` `
Is this an idiomatic way to check if optional arguments were passed to a function?

## My code snippet

```lisp ;;; DSL for creating org-ql-search commands from search string ;; First: A DSL for transforming a string of words into a complex sexp ;; 'Emacs Org' => (and (headar 'Emacs') (headar 'Org'))" (defun ugt/create-query (search-words &optional operator) "Create query for org-cl like this: 'Emacs Org' => (and (headar 'Emacs') (headar 'Org))" (cons (if operator ;; if optional =operator= is passed, use it operator ;; otherwise always use "and" as boolean operator 'and) (mapcar (lambda (el)`(heading ,el)) (split-string search-words))))
;; Next: Use the previous function to create the final ~org-ql-search~ sexp (defun ugt/oqs (&optional search-words operator) "Expand a string of search words seperated by space into a complex sexp query for ~org-ql-search~.
Optional parameter ~operator~ is either =and= or =or= " (interactive) (let ((user-input (if search-words search-words (read-string "Enter search words seperated by space: "))) (op (if operator operator nil))) (eval `(org-ql-search (org-agenda-files) (ugt/create-query ,user-input ,(quote operator)))))) ```

2020.07.16 15:52 flaming_bird Online Lisp Meeting #5

Good morning, everyone!
We officially start running out of fingers on a single hand, because this Online Lisp Meeting shall be the fifth one.
We will have a pair of speakers this time: Bonface Munyoki, a software developer with a keen interest in functional programming, and Robert Strandh of SICL fame.
Bonface will talk about Guix Past:
In the field of software development, libraries and tools evolve quickly to keep up with trends, improvements in hardware or to work around discovered/ exposed vulnerabilities. People, across diverse fields, adapt their work by updating the libraries they use to keep up. For scientists, that normally does not happen. Rarely will people maintain the code they wrote for a paper they published; instead, it's the impetus of the reader to reproduce the code based off the paper they read. Outside academic papers, for long-living projects like genenetworkÂš, it would be desirable to provide a "time-machine" that enables the user to jump between various past versions. Guix pastÂł is a project initiated by Guix-HPCÂ˛ that aims to provide these old, sometimes archived libraries to users with the goal of enabling people to reproduce old builds of software they used a couple of years ago.
Robert will continue talking about creating a Common Lisp implementation with part 2 of his talk.
In this series of presentations, we examine different strategies for creating a Common Lisp implementation, as well as the pros and cons of each strategy.
We assume basic knowledge about how a typical modern operating system (such as Unix) works, and how traditional batch languages (such as C) are compiled and executed on such a system. We furthermore assume medium-level knowledge about Common Lisp.
In part 2, we sketch a possible compiler that generates byte codes, and an abstract machine for interpreting such byte codes.
As before, the talk will be pre-recorded and played back on Twitch, with the ability to comment on the Twitch chat during playback. The videos will make it onto YouTube. In my evening, I plan on organizing an online drink and chat on Jitsi (I know that I promised you that the last time and didn't deliver - I wholeheartedly apologize.) - let's discuss that on #lispcafe.
Date/time/location:
Massive thanks to Marco Heisig for providing the Jitsi instance where we can hang out after the talk. (Ha! No one noticed that I called him Macro in the previous mail. Strangely suitable, anyway.)
A mailing list has been created for the purpose of organizing and promoting the online talks. Further announcements will be posted there. See https://mailman.common-lisp.net/listinfo/online-lisp-meets
If you'd like to submit something yourself, please feel free to. The slots are almost always open - there's no real queue for these videos.
BR and see you!
MichaĹ "phoe" Herda

2020.07.09 14:47 DeltaBot Deltas awarded in "CMV: There is no empirical support for the Cancel Culture panic"

Below is a list of the deltas awarded in this post.
Please note that a change of view is not necessarily a reversal, and that OP awarding a delta doesn't mean the conversation has ended.
For a full explanation of the delta system, see here.

# Deltas from Other Users

2020.06.23 21:10 flaming_bird Online Lisp Meeting #4

Good morning, everyone! It's time to have an Online Lisp Meeting for the fourth time.
Robert Strandh will once again talk, this time about creating Common Lisp implementations!
In this series of presentations, we examine different strategies for creating a Common Lisp implementation, as well as the pros and cons of each strategy.
We assume basic knowledge about how a typical modern operating system (such as Unix) works, and how traditional batch languages (such as C) are compiled and executed on such a system. We furthermore assume medium-level knowledge about Common Lisp.
In part 1, we compare the issues of creating a Common Lisp implementation to the issues of writing a compiler for a traditional batch language for a typical modern operating system. Given these issues, we investigate some strategies for creating a compiler for a Common Lisp system, and we examine the requirements on the run-time environment for the compiled code to be executable in that environment.
As before, the talk will be pre-recorded and played back on Twitch, with the ability to comment on the Twitch chat during playback. The videos will make it onto YouTube. In my evening, I plan on organizing an online drink and chat on Jitsi - let's discuss that on #lispcafe.
Date/time/location:
Massive thanks to Macro Heisig for providing the Jitsi instance where we can hang out after the talk.
A mailing list has been created for the purpose of organizing and promoting the online talks. Further announcements will be posted there. See https://mailman.common-lisp.net/listinfo/online-lisp-meets
(I really think that I should customize the part where I ask everyone to submit their own talks or Lispy things they'd like to share, so, I guess that's what I am doing right now. Please throw them at me and I'll be happy to host them!)
BR and see you!
MichaĹ "phoe" Herda
EDIT: I need to move the meeting a week forwards because of an unexpected collision in my calendar. Sorry about the short notice.
• New date: 6th July 2020
• Same time and location.